Skip to content

Commit 3dd8d9e

Browse files
author
Maximillian Dornseif
committed
* raise a somewhat more helpfull exception when github.com returns an error
* added docstrings on some functions which made me stumble
1 parent b44bcf8 commit 3dd8d9e

2 files changed

Lines changed: 18 additions & 1 deletion

File tree

github2/repositories.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,14 @@ def show(self, project):
2828
datatype=Repository)
2929

3030
def list(self, for_user=None):
31+
"""Return a list of all repositories for a user.
32+
33+
If no user is given, repositoris for the currently logged in user are
34+
returned.
35+
"""
3136
for_user = for_user or self.request.username
3237
return self.get_values("show", for_user, filter="repositories",
33-
datatype=Repository)
38+
datatype=Repository)
3439

3540
def watch(self, project):
3641
return self.make_request("watch", project)
@@ -58,13 +63,22 @@ def set_public(self, repo_name):
5863
return self.make_request("set/public", repo_name)
5964

6065
def list_collaborators(self, project):
66+
"""Lists all the collaborators in a project (user/repro)."""
6167
return self.make_request("show", project, "collaborators",
6268
filter="collaborators")
6369

6470
def add_collaborator(self, repo_name, username):
71+
"""Adds an add_collaborator to a repro.
72+
73+
Do not prefix repro_name with the user owning the repro like you
74+
do in list_collaborators()"""
6575
return self.make_request("collaborators", repo_name, "add", username)
6676

6777
def remove_collaborator(self, repo_name, username):
78+
"""Removes an add_collaborator from a repro.
79+
80+
Do not prefix repro_name with the user owning the repro like you
81+
do in list_collaborators()"""
6882
return self.make_request("collaborators", repo_name, "remove",
6983
username, method="POST")
7084

github2/request.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ def raw_request(self, url, extra_post_data, method="GET"):
7878
if self.debug:
7979
sys.stderr.write("URL:[%s] POST_DATA:%s RESPONSE_TEXT: [%s]\n" % (
8080
path, post_data, response_text))
81+
if response.status >= 400:
82+
raise RuntimeError("unexpected response from github.com %d: %r" % (
83+
response.status, response_text))
8184
json = simplejson.loads(response_text)
8285
if json.get("error"):
8386
raise self.GithubError(json["error"][0]["error"])

0 commit comments

Comments
 (0)