実装に向けて。
前回まで
8/9、追加機能について考えていた。今回はこのうちの一部である。
http://ytyaru.hatenablog.com/entry/2017/08/09/000000
9/30、初期処理としてアカウント登録時のイメージを考えた。
http://ytyaru.hatenablog.com/entry/2017/09/30/000000
10/9、アカウント登録が未実装のため、バグ発生。
http://ytyaru.hatenablog.com/entry/2017/10/09/000000
案
- GitHubUploader.pyにアカウント管理機能を付与する
- GitHub総合操作.pyにGitHubUploader.pyとアカウント管理機能を付与する
- GitHubUploader.pyとアカウント管理機能を別々のスクリプトにする
Cだとコマンドを複数覚えたりパスを通したりせねばならず面倒そう。作るのは一番楽。結合しなくていいから。
Bだとコマンドが抽象的すぎてわかりにくくなりそう。実際はほぼアップロード機能しかないくせに。
Aは階層的に間違っている。Bが正しい。でも実際の用途に合っている。
とりあえずAを採用。
シーケンス
引数なし
python3 GitHubUploader.py
python3 GitHubUploader.py -h
以下のようなヘルプを表示する。
アップローダ : $ GitHubUploader.py `pwd` -u username -d description -l homepage アカウント管理: $ GitHubUploader.py account -u username -d description -l homepage -s ssh_public_key_file_path
アップローダがメインコマンドで、アカウント管理がサブコマンド。
アップロード コマンド
ユーザ名なし
python3 GitHubUploader.py `pwd`
- マスターDBを作成する
アカウント登録CUIが完成すれば、「DBにあるアカウントは有効なものである」ことになるため、ユーザ選択CUIも作れそう。有効なアカウントとは、GitHubAPIが発行でき、SSH通信できるアカウントのこと。
ユーザ名あり
python3 GitHubUploader.py `pwd` -u some_username
- マスターDBを作成する
アカウント作成 サブコマンド
以下のコマンドでアカウント作成CUIを実行する
python3 GitHubUploader.py account
python3 GitHubUploader.py account -u username -p password -m mailaddress -s ssh_public_key_file_path
新たにアカウントを追加する場合、必ずこのコマンドが必要になる。というイメージ。
所感
次は実装時のファイル構成やPythonのインタフェースを考える。