やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

GitHubアップローダ機能テストでリポジトリ削除するとエラーになるバグを修正した

レスポンスがないWebAPI実行後エラーになる。

成果物

GitHubGitHub.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.pyGet関数に以下を追加。

if None is res:
    return None

正常終了でレスポンスがない仕様のAPIのときに今回のエラーが発生する。リポジトリ削除APIは正常終了のときレスポンスがないので今回のエラーが発生した。

所感

そもそもプログラムの作り方が問題に思える。コードが汚いような。でもどうすればいいのか具体的なコードが思いつかない。やはりPython等の学習が先か。

今回の場合、前回のリポジトリにcommitするだけで良かったのかも知れない。

何にせよ、これで主要な機能は動作することが確認できたと思う。普段アップロードするだけなら問題ないレベルのはず。