どうするか。
前回まで
http://ytyaru.hatenablog.com/entry/2017/09/30/000000
方針
リファクタリングは大変そうだし、新機能追加のほうが楽しい。でも、これ以上未整理のまま肥大化したら、もう扱いきれない。
所感
- 整理するたびにimportとかファイルパス関係のコードを修正するのが、ものすごくつまらない。
- 重複コード多すぎ
- でもちょっとずつ変えている。精査が面倒。手抜きしてきたツケが回ってきた
- GitHubAPI操作のモジュール化が難しくて整理できない
- DB操作も絡んできてさらに複雑
- ツールの機能単位でまとめるか、GitHubApi操作+DB操作単位でまとめるか
- できるだけ重複をなくするにはどうすればいいか
API
GitHubAPIの実装がバラバラ。中途半端に一部共通化したり、していなかったり。
- Pagenation
- HttpHeader
- APIインタフェースとPythonインタフェース
- HTTP処理の共通化は難しそう(どこをどう共通化できるのか)
- HttpMethod
- HttpHeader
- RequestParameter
- Response(文字列、バイナリ、JSON、など形式も異なる。成功時のHTTPコードも。)
- HTTPエラー処理
- ファイル書き出し
HTTP要求と応答のところが面倒くさい。
2FA
2FAに関しては根本的に理解していない。OTP生成でログイン確認がとれていない。WinAuthでのみ成功し、それ以外で失敗した。原因不明。最初から調査しなおす必要がある。
GitHubの2FA自体の使い方がわかっていないかもしれない。たとえばリカバリコードには有効期限があったことが発覚。16個のコードがあり、1個1回限りの使い捨てらしい。
- X-GitHub-OTP
所感
GitHubリクエスタを作るのが良さそうか。またはHTTPリクエスタか。requestsライブラリでは足りない部分はどこなのか。