Fix to github error handling
authorNicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
Thu, 18 Dec 2014 12:07:03 +0100
changeset 13 ea5f985156b1
parent 12 8ca7be41e3ca
child 14 fc63b1a3d2ef
Fix to github error handling
src/catedit/persistence.py
--- a/src/catedit/persistence.py	Wed Dec 17 17:21:06 2014 +0100
+++ b/src/catedit/persistence.py	Thu Dec 18 12:07:03 2014 +0100
@@ -136,7 +136,7 @@
                                   + app.config["CATEGORIES_PATH"]
                                   + kwargs["name"])
             request_data["sha"] = filedict["sha"]
-        except GitHubError:
+        except GitHubError as ghe:
             LOGGER.debug("Github sent an error, either: \
                          1- You're trying to create a new file named : "
                          + kwargs["name"] + " OR \
@@ -144,6 +144,7 @@
                          + kwargs["name"] + ", \
                          in which case something went wrong \
                          trying to get its sha")
+            LOGGER.debug(ghe.response.json())
         # LOGGER.debug(json.dumps(request_data))
         try:
             github.request('PUT',
@@ -154,11 +155,11 @@
                            + app.config["CATEGORIES_PATH"]
                            + kwargs["name"],
                            data=json.dumps(request_data))
-        except GitHubError:
+        except GitHubError as ghe:
             LOGGER.debug("Github Error trying to update file: "+kwargs["name"])
             LOGGER.debug("Github sent an error, if 404, either you may not \
                          have access to the repository or it doesn't exist ")
-            LOGGER.debug(GitHubError.response.text)
+            LOGGER.debug(ghe.response.json())
 
     def load(self, **kwargs):
         """
@@ -172,11 +173,11 @@
                                   + app.config["CATEGORIES_PATH"]
                                   + kwargs["name"])
             file_content = str(b64decode(filedict["content"]), "utf-8")
-        except GitHubError:
+        except GitHubError as ghe:
             LOGGER.debug("Github Error trying to get file: "+kwargs["name"])
             LOGGER.debug("Github sent an error, if 404, either you may not \
                          have access to the repository or it doesn't exist ")
-            LOGGER.debug(GitHubError.response.text)
+            LOGGER.debug(ghe.response.text)
         return file_content
 
     def delete(self, **kwargs):
@@ -192,10 +193,10 @@
                                   + app.config["CATEGORIES_PATH"]
                                   + kwargs["name"])
             request_data["sha"] = filedict["sha"]
-        except GitHubError:
+        except GitHubError as ghe:
             LOGGER.debug("Github Error trying to get sha for \
                          file: "+kwargs["name"])
-            LOGGER.debug(GitHubError.response.text)
+            LOGGER.debug(ghe.response.text)
 
         try:
             github.request('DELETE',
@@ -204,9 +205,9 @@
                            + "/contents/categories/"
                            + kwargs["name"],
                            data=json.dumps(request_data))
-        except GitHubError:
+        except GitHubError as ghe:
             LOGGER.debug("Github Error trying to delete file: "+kwargs["name"])
-            LOGGER.debug(GitHubError.response.text)
+            LOGGER.debug(ghe.response.text)
 
     def list(self, **kwargs):
         """
@@ -222,13 +223,13 @@
             filenames_list = [github_file["name"]
                               for github_file in files_in_repo]
             # LOGGER.debug(filenames_list)
-        except GitHubError:
+        except GitHubError as ghe:
             LOGGER.debug("Github Error trying to get the file list in the \
                          category repository")
             LOGGER.debug("NOTE: Github sent an error, if 404 either you \
                          may not have access to the repository or it doesn't \
-                         exist")
-            LOGGER.debug(GitHubError.response.text)
+                         exist or there isn't any files in it")
+            LOGGER.debug(ghe.response.text)
 
         file_content_list = []
         for filename in filenames_list:
@@ -241,8 +242,8 @@
                                       + filename)
                 file_content_list.append(str(b64decode(filedict["content"]),
                                          "utf-8"))
-            except GitHubError:
+            except GitHubError as ghe:
                 LOGGER.debug("Github Error trying to get file: "+filename)
-                LOGGER.debug(GitHubError.response.text)
+                LOGGER.debug(ghe.response.text)
         LOGGER.debug(file_content_list)
         return file_content_list