gen コマンドの --without-login をデフォルトにしたい
ログインしなくても見れるページしか触らない場合でもパスワードの入力が要求されてしまっています。必要もないのにパスワードを聞いてくるプログラムにパスワードを入力するのは勇気が必要であり、ユーザに優しくないです。なので --without-login はデフォルトにしたいです。
UXの観点から同意します。
ただ、パスワードが必要なタイミングが生じたのを検出して、例えば --with-login が必要だと警告する、もしくは警告なしでそのままパスワード入力に移るというのをしたいです。
どちらがいいと思いますか?
--with-login が必要だと警告して終了するのがよいと思います。
警告なしでそのままパスワード入力に移るのはたしかに入力文字数は減りますが、パスワード入力は頻繁な操作ではないのであまり差はありません。 一方で、どちらもユーザにとって予想外の事態であることは変わりませんし、ログインし直してから再試行することを実装するのは単に警告を出して終了するより複雑で面倒であり、さらに他のプログラムから呼び出されていた場合には来るはずのない入力を待ち受ける事態を生む罠になりえます。 なので総合的には警告を吐くだけの方が適切だと思います。
その方針でいきましょう。 やってくれたら嬉しいですけど@kmykさんがcredential周りを触るのが少し気が進まない感じであれば僕のほうでやったほうがいいですかね?
やります。 認証情報のまわりといえばそうですが、気にしなくてよいはずです。その機能そのものは触らず単に呼び出す部分だけなので。
変更は以下のようなものでいいですか?
- サブコマンド
gencodegenのオプション--without-loginはそのまま、ただしデフォルトにする - サブコマンド
gencodegenにオプション--with-loginを追加し、--without-login=falseに相当するものとする - 設定ファイル中の
etc.download_without_loginはそのまま -
--without-loginが指定された場合、サブコマンドgencodegenの処理の冒頭で、対象のコンテストや問題のページを開いてみて 404 とかしたらメッセージを出して終了する。指定されてなければ今までのまま
これ明日返事します。
かなりおそくなりました。
- サブコマンド
gencodegenのオプション--without-loginはそのまま、ただしデフォルトにする
OKです
- サブコマンド
gencodegenにオプション--with-loginを追加し、--without-login=falseに相当するものとする
OKです
- 設定ファイル中の
etc.download_without_loginはそのまま
これでOKです。但し、etc.download_with_loginもetc_configにあるようにして欲しいです。
--without-loginが指定された場合、サブコマンドgencodegenの処理の冒頭で、対象のコンテストや問題のページを開いてみて 404 とかしたらメッセージを出して終了する。指定されてなければ今までのまま
これがありがたいです。
あと、--without-loginはコマンドとしては残しつつhelpからだけ消す方法があったと思うのでそれをお願いします。
お手数をおかけしますが、よろしくお願いします。
etc.download_with_login を足したいというのも分かるのでそのようにしましょう。
しかし、これと etc.download_without_login が設定ファイルに同時に出現した場合が少し困ります。大きな選択肢としては「警告を出して終了する」「終了せずに続行する」のふたつがありますが、前者でいいですか?
設定ファイルに二つ現れた場合は警告して終了しちゃって大丈夫です
了解です
これやるんですが、コードを整理した後にしたい気持ちが湧いてきました