GitHubアップローダ機能テストでリポジトリ削除するとエラーになるバグを修正した
レスポンスがないWebAPI実行後エラーになる。
成果物
GitHub.Uploader.FunctionTest.RepoDelete.201705131257
エラー
Traceback (most recent call last): File "GitHubUploader.py", line 77, in <module> main.Run() File "GitHubUploader.py", line 72, in Run main.Run() File "/tmp/GitHub.Edit.Dir.Name/cui/uploader/Main.py", line 27, in Run self.__Commit() File "/tmp/GitHub.Edit.Dir.Name/cui/uploader/Main.py", line 75, in __Commit self.__ConfirmDelete() File "/tmp/GitHub.Edit.Dir.Name/cui/uploader/Main.py", line 90, in __ConfirmDelete self.__deleter.Delete() File "/tmp/GitHub.Edit.Dir.Name/cui/uploader/command/repository/Deleter.py", line 32, in Delete self.__client.Repositories.delete() File "/tmp/GitHub.Edit.Dir.Name/web/service/github/api/v3/repositories/Repositories.py", line 115, in delete return self.__response.Get(r) File "/tmp/GitHub.Edit.Dir.Name/web/service/github/api/v3/Response.py", line 33, in Get if 'json' == self.Headers.ContentType.MimeType.SubType.Suffix: AttributeError: 'NoneType' object has no attribute 'MimeType'
解決
./web/service/github/api/v3/Response.py
のGet
関数に以下を追加。
if None is res: return None
正常終了でレスポンスがない仕様のAPIのときに今回のエラーが発生する。リポジトリ削除APIは正常終了のときレスポンスがないので今回のエラーが発生した。
所感
そもそもプログラムの作り方が問題に思える。コードが汚いような。でもどうすればいいのか具体的なコードが思いつかない。やはりPython等の学習が先か。
今回の場合、前回のリポジトリにcommitするだけで良かったのかも知れない。
何にせよ、これで主要な機能は動作することが確認できたと思う。普段アップロードするだけなら問題ないレベルのはず。