mirror of
https://github.com/status-im/PyGithub.git
synced 2026-09-01 19:31:10 +00:00
Merge branch 'topic/ApiStatus' into develop
This commit is contained in:
+25
-93
@@ -257,9 +257,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
"/user/emails",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
|
||||
def add_to_following(self, following):
|
||||
@@ -271,10 +269,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(following, github.NamedUser.NamedUser), following
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PUT",
|
||||
"/user/following/" + following._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/user/following/" + following._identity
|
||||
)
|
||||
|
||||
def add_to_starred(self, starred):
|
||||
@@ -286,10 +281,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(starred, github.Repository.Repository), starred
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PUT",
|
||||
"/user/starred/" + starred._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/user/starred/" + starred._identity
|
||||
)
|
||||
|
||||
def add_to_subscriptions(self, subscription):
|
||||
@@ -301,10 +293,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(subscription, github.Repository.Repository), subscription
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PUT",
|
||||
"/user/subscriptions/" + subscription._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/user/subscriptions/" + subscription._identity
|
||||
)
|
||||
|
||||
def add_to_watched(self, watched):
|
||||
@@ -316,10 +305,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(watched, github.Repository.Repository), watched
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PUT",
|
||||
"/user/watched/" + watched._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/user/watched/" + watched._identity
|
||||
)
|
||||
|
||||
def create_authorization(self, scopes=github.GithubObject.NotSet, note=github.GithubObject.NotSet, note_url=github.GithubObject.NotSet, client_id=github.GithubObject.NotSet, client_secret=github.GithubObject.NotSet):
|
||||
@@ -351,9 +337,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
"/authorizations",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.Authorization.Authorization(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -366,10 +350,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(repo, github.Repository.Repository), repo
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
"/repos/" + repo.owner.login + "/" + repo.name + "/forks",
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/repos/" + repo.owner.login + "/" + repo.name + "/forks"
|
||||
)
|
||||
return github.Repository.Repository(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -393,9 +374,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
"/gists",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.Gist.Gist(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -415,9 +394,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
"/user/keys",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.UserKey.UserKey(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -466,9 +443,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
"/user/repos",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.Repository.Repository(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -509,9 +484,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
"/user",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
@@ -524,10 +497,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(id, (int, long)), id
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/authorizations/" + str(id),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/authorizations/" + str(id)
|
||||
)
|
||||
return github.Authorization.Authorization(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -550,10 +520,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/user/emails",
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/user/emails"
|
||||
)
|
||||
return data
|
||||
|
||||
@@ -690,10 +657,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(id, (int, long)), id
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/user/keys/" + str(id),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/user/keys/" + str(id)
|
||||
)
|
||||
return github.UserKey.UserKey(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -718,10 +682,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(id, (str, unicode)), id
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/notifications/threads/" + id,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/notifications/threads/" + id
|
||||
)
|
||||
return github.Notification.Notification(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -783,10 +744,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(name, (str, unicode)), name
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/repos/" + self.login + "/" + name,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/repos/" + self.login + "/" + name
|
||||
)
|
||||
return github.Repository.Repository(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -872,10 +830,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(following, github.NamedUser.NamedUser), following
|
||||
status, headers, data = self._requester.requestJson(
|
||||
"GET",
|
||||
"/user/following/" + following._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/user/following/" + following._identity
|
||||
)
|
||||
return status == 204
|
||||
|
||||
@@ -888,10 +843,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(starred, github.Repository.Repository), starred
|
||||
status, headers, data = self._requester.requestJson(
|
||||
"GET",
|
||||
"/user/starred/" + starred._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/user/starred/" + starred._identity
|
||||
)
|
||||
return status == 204
|
||||
|
||||
@@ -904,10 +856,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(subscription, github.Repository.Repository), subscription
|
||||
status, headers, data = self._requester.requestJson(
|
||||
"GET",
|
||||
"/user/subscriptions/" + subscription._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/user/subscriptions/" + subscription._identity
|
||||
)
|
||||
return status == 204
|
||||
|
||||
@@ -920,10 +869,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(watched, github.Repository.Repository), watched
|
||||
status, headers, data = self._requester.requestJson(
|
||||
"GET",
|
||||
"/user/watched/" + watched._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/user/watched/" + watched._identity
|
||||
)
|
||||
return status == 204
|
||||
|
||||
@@ -938,9 +884,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
"/user/emails",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
|
||||
def remove_from_following(self, following):
|
||||
@@ -952,10 +896,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(following, github.NamedUser.NamedUser), following
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
"/user/following/" + following._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/user/following/" + following._identity
|
||||
)
|
||||
|
||||
def remove_from_starred(self, starred):
|
||||
@@ -967,10 +908,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(starred, github.Repository.Repository), starred
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
"/user/starred/" + starred._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/user/starred/" + starred._identity
|
||||
)
|
||||
|
||||
def remove_from_subscriptions(self, subscription):
|
||||
@@ -982,10 +920,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(subscription, github.Repository.Repository), subscription
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
"/user/subscriptions/" + subscription._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/user/subscriptions/" + subscription._identity
|
||||
)
|
||||
|
||||
def remove_from_watched(self, watched):
|
||||
@@ -997,10 +932,7 @@ class AuthenticatedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(watched, github.Repository.Repository), watched
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
"/user/watched/" + watched._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/user/watched/" + watched._identity
|
||||
)
|
||||
|
||||
def _initAttributes(self):
|
||||
|
||||
@@ -113,10 +113,7 @@ class Authorization(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url
|
||||
)
|
||||
|
||||
def edit(self, scopes=github.GithubObject.NotSet, add_scopes=github.GithubObject.NotSet, remove_scopes=github.GithubObject.NotSet, note=github.GithubObject.NotSet, note_url=github.GithubObject.NotSet):
|
||||
@@ -148,9 +145,7 @@ class Authorization(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
|
||||
+2
-6
@@ -130,9 +130,7 @@ class Commit(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/comments",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.CommitComment.CommitComment(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -157,9 +155,7 @@ class Commit(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self._parentUrl(self._parentUrl(self.url)) + "/statuses/" + self.sha,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.CommitStatus.CommitStatus(self._requester, headers, data, completed=True)
|
||||
|
||||
|
||||
@@ -129,10 +129,7 @@ class CommitComment(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url
|
||||
)
|
||||
|
||||
def edit(self, body):
|
||||
@@ -148,9 +145,7 @@ class CommitComment(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
|
||||
+1
-4
@@ -199,10 +199,7 @@ class Download(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url
|
||||
)
|
||||
|
||||
def _initAttributes(self):
|
||||
|
||||
+8
-30
@@ -172,9 +172,7 @@ class Gist(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/comments",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.GistComment.GistComment(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -185,10 +183,7 @@ class Gist(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/forks",
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/forks"
|
||||
)
|
||||
return Gist(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -199,10 +194,7 @@ class Gist(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url
|
||||
)
|
||||
|
||||
def edit(self, description=github.GithubObject.NotSet, files=github.GithubObject.NotSet):
|
||||
@@ -222,9 +214,7 @@ class Gist(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
@@ -237,10 +227,7 @@ class Gist(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(id, (int, long)), id
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/comments/" + str(id),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/comments/" + str(id)
|
||||
)
|
||||
return github.GistComment.GistComment(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -263,10 +250,7 @@ class Gist(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
status, headers, data = self._requester.requestJson(
|
||||
"GET",
|
||||
self.url + "/star",
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/star"
|
||||
)
|
||||
return status == 204
|
||||
|
||||
@@ -277,10 +261,7 @@ class Gist(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url + "/star",
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/star"
|
||||
)
|
||||
|
||||
def set_starred(self):
|
||||
@@ -290,10 +271,7 @@ class Gist(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PUT",
|
||||
self.url + "/star",
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/star"
|
||||
)
|
||||
|
||||
def _initAttributes(self):
|
||||
|
||||
@@ -89,10 +89,7 @@ class GistComment(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url
|
||||
)
|
||||
|
||||
def edit(self, body):
|
||||
@@ -108,9 +105,7 @@ class GistComment(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
|
||||
+2
-7
@@ -65,10 +65,7 @@ class GitRef(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url
|
||||
)
|
||||
|
||||
def edit(self, sha, force=github.GithubObject.NotSet):
|
||||
@@ -88,9 +85,7 @@ class GitRef(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
|
||||
@@ -141,10 +141,7 @@ class CompletableGithubObject(GithubObject):
|
||||
def __complete(self):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self._url,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self._url
|
||||
)
|
||||
self._storeAndUseAttributes(headers, data)
|
||||
self.__completed = True
|
||||
@@ -163,9 +160,7 @@ class CompletableGithubObject(GithubObject):
|
||||
status, responseHeaders, output = self._requester.requestJson(
|
||||
"GET",
|
||||
self._url,
|
||||
None,
|
||||
conditionalRequestHeader,
|
||||
None
|
||||
headers=conditionalRequestHeader
|
||||
)
|
||||
if status == 304:
|
||||
return False
|
||||
|
||||
+3
-11
@@ -113,10 +113,7 @@ class Hook(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url
|
||||
)
|
||||
|
||||
def edit(self, name, config, events=github.GithubObject.NotSet, add_events=github.GithubObject.NotSet, remove_events=github.GithubObject.NotSet, active=github.GithubObject.NotSet):
|
||||
@@ -151,9 +148,7 @@ class Hook(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
@@ -164,10 +159,7 @@ class Hook(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/tests",
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/tests"
|
||||
)
|
||||
|
||||
def _initAttributes(self):
|
||||
|
||||
+7
-24
@@ -203,9 +203,7 @@ class Issue(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/labels",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
|
||||
def create_comment(self, body):
|
||||
@@ -221,9 +219,7 @@ class Issue(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/comments",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.IssueComment.IssueComment(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -234,10 +230,7 @@ class Issue(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url + "/labels",
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/labels"
|
||||
)
|
||||
|
||||
def edit(self, title=github.GithubObject.NotSet, body=github.GithubObject.NotSet, assignee=github.GithubObject.NotSet, state=github.GithubObject.NotSet, milestone=github.GithubObject.NotSet, labels=github.GithubObject.NotSet):
|
||||
@@ -273,9 +266,7 @@ class Issue(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
@@ -288,10 +279,7 @@ class Issue(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(id, (int, long)), id
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self._parentUrl(self.url) + "/comments/" + str(id),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self._parentUrl(self.url) + "/comments/" + str(id)
|
||||
)
|
||||
return github.IssueComment.IssueComment(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -340,10 +328,7 @@ class Issue(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(label, github.Label.Label), label
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url + "/labels/" + label._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/labels/" + label._identity
|
||||
)
|
||||
|
||||
def set_labels(self, *labels):
|
||||
@@ -357,9 +342,7 @@ class Issue(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PUT",
|
||||
self.url + "/labels",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
|
||||
@property
|
||||
|
||||
@@ -98,10 +98,7 @@ class IssueComment(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url
|
||||
)
|
||||
|
||||
def edit(self, body):
|
||||
@@ -117,9 +114,7 @@ class IssueComment(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
|
||||
+2
-7
@@ -66,10 +66,7 @@ class Label(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url
|
||||
)
|
||||
|
||||
def edit(self, name, color):
|
||||
@@ -88,9 +85,7 @@ class Label(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
|
||||
+1
-3
@@ -58,9 +58,7 @@ class PaginatedList(github.PaginatedList.PaginatedListBase):
|
||||
headers, data = self.__requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.__url,
|
||||
args,
|
||||
None,
|
||||
None
|
||||
parameters=args
|
||||
)
|
||||
self.__continue = len(data[self.__key]) > 0
|
||||
|
||||
|
||||
+55
-43
@@ -40,6 +40,8 @@ import github.GithubObject
|
||||
import HookDescription
|
||||
import GitignoreTemplate
|
||||
import Notification
|
||||
import Status
|
||||
import StatusMessage
|
||||
|
||||
|
||||
DEFAULT_BASE_URL = "https://api.github.com"
|
||||
@@ -109,10 +111,7 @@ class Github(object):
|
||||
if limit < 0:
|
||||
self.__requester.requestJsonAndCheck(
|
||||
'GET',
|
||||
'/rate_limit',
|
||||
None,
|
||||
None,
|
||||
None
|
||||
'/rate_limit'
|
||||
)
|
||||
return self.__requester.rate_limiting
|
||||
|
||||
@@ -125,10 +124,7 @@ class Github(object):
|
||||
if self.__requester.rate_limiting_resettime == 0:
|
||||
self.__requester.requestJsonAndCheck(
|
||||
'GET',
|
||||
'/rate_limit',
|
||||
None,
|
||||
None,
|
||||
None
|
||||
'/rate_limit'
|
||||
)
|
||||
return self.__requester.rate_limiting_resettime
|
||||
|
||||
@@ -151,10 +147,7 @@ class Github(object):
|
||||
else:
|
||||
headers, data = self.__requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/users/" + login,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/users/" + login
|
||||
)
|
||||
return github.NamedUser.NamedUser(self.__requester, headers, data, completed=True)
|
||||
|
||||
@@ -184,10 +177,7 @@ class Github(object):
|
||||
assert isinstance(login, (str, unicode)), login
|
||||
headers, data = self.__requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/orgs/" + login,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/orgs/" + login
|
||||
)
|
||||
return github.Organization.Organization(self.__requester, headers, data, completed=True)
|
||||
|
||||
@@ -199,10 +189,7 @@ class Github(object):
|
||||
assert isinstance(full_name, (str, unicode)), full_name
|
||||
headers, data = self.__requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/repos/" + full_name,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/repos/" + full_name
|
||||
)
|
||||
return Repository.Repository(self.__requester, headers, data, completed=True)
|
||||
|
||||
@@ -232,10 +219,7 @@ class Github(object):
|
||||
assert isinstance(id, (str, unicode)), id
|
||||
headers, data = self.__requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/gists/" + id,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/gists/" + id
|
||||
)
|
||||
return github.Gist.Gist(self.__requester, headers, data, completed=True)
|
||||
|
||||
@@ -295,10 +279,7 @@ class Github(object):
|
||||
assert isinstance(email, (str, unicode)), email
|
||||
headers, data = self.__requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/legacy/user/email/" + email,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/legacy/user/email/" + email
|
||||
)
|
||||
return github.NamedUser.NamedUser(self.__requester, headers, Legacy.convertUser(data["user"]), completed=False)
|
||||
|
||||
@@ -320,9 +301,7 @@ class Github(object):
|
||||
status, headers, data = self.__requester.requestJson(
|
||||
"POST",
|
||||
"/markdown",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return data
|
||||
|
||||
@@ -333,10 +312,7 @@ class Github(object):
|
||||
"""
|
||||
headers, data = self.__requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/hooks",
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/hooks"
|
||||
)
|
||||
return [HookDescription.HookDescription(self.__requester, headers, attributes, completed=True) for attributes in data]
|
||||
|
||||
@@ -347,10 +323,7 @@ class Github(object):
|
||||
"""
|
||||
headers, data = self.__requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/gitignore/templates",
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/gitignore/templates"
|
||||
)
|
||||
return data
|
||||
|
||||
@@ -362,10 +335,7 @@ class Github(object):
|
||||
assert isinstance(name, (str, unicode)), name
|
||||
headers, attributes = self.__requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/gitignore/templates/" + name,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/gitignore/templates/" + name
|
||||
)
|
||||
return GitignoreTemplate.GitignoreTemplate(self.__requester, headers, attributes, completed=True)
|
||||
|
||||
@@ -401,3 +371,45 @@ class Github(object):
|
||||
:return: the unpickled object
|
||||
"""
|
||||
return self.create_from_raw_data(*pickle.load(f))
|
||||
|
||||
def get_api_status(self):
|
||||
"""
|
||||
This doesn't work with a Github Enterprise installation, because it always targets https://status.github.com.
|
||||
|
||||
:calls: `GET /api/status.json <https://status.github.com/api>`_
|
||||
:rtype: :class:`github.Status.Status`
|
||||
"""
|
||||
headers, attributes = self.__requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/api/status.json",
|
||||
cnx="status"
|
||||
)
|
||||
return Status.Status(self.__requester, headers, attributes, completed=True)
|
||||
|
||||
def get_last_api_status_message(self):
|
||||
"""
|
||||
This doesn't work with a Github Enterprise installation, because it always targets https://status.github.com.
|
||||
|
||||
:calls: `GET /api/last-message.json <https://status.github.com/api>`_
|
||||
:rtype: :class:`github.StatusMessage.StatusMessage`
|
||||
"""
|
||||
headers, attributes = self.__requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/api/last-message.json",
|
||||
cnx="status"
|
||||
)
|
||||
return StatusMessage.StatusMessage(self.__requester, headers, attributes, completed=True)
|
||||
|
||||
def get_api_status_messages(self):
|
||||
"""
|
||||
This doesn't work with a Github Enterprise installation, because it always targets https://status.github.com.
|
||||
|
||||
:calls: `GET /api/messages.json <https://status.github.com/api>`_
|
||||
:rtype: list of :class:`github.StatusMessage.StatusMessage`
|
||||
"""
|
||||
headers, data = self.__requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/api/messages.json",
|
||||
cnx="status"
|
||||
)
|
||||
return [StatusMessage.StatusMessage(self.__requester, headers, attributes, completed=True) for attributes in data]
|
||||
|
||||
+2
-7
@@ -134,10 +134,7 @@ class Milestone(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url
|
||||
)
|
||||
|
||||
def edit(self, title, state=github.GithubObject.NotSet, description=github.GithubObject.NotSet, due_on=github.GithubObject.NotSet):
|
||||
@@ -165,9 +162,7 @@ class Milestone(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
|
||||
+3
-11
@@ -269,9 +269,7 @@ class NamedUser(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/gists",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.Gist.Gist(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -392,10 +390,7 @@ class NamedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(name, (str, unicode)), name
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/repos/" + self.login + "/" + name,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/repos/" + self.login + "/" + name
|
||||
)
|
||||
return github.Repository.Repository(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -461,10 +456,7 @@ class NamedUser(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(following, github.NamedUser.NamedUser), following
|
||||
status, headers, data = self._requester.requestJson(
|
||||
"GET",
|
||||
self.url + "/following/" + following._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/following/" + following._identity
|
||||
)
|
||||
return status == 204
|
||||
|
||||
|
||||
+11
-40
@@ -244,10 +244,7 @@ class Organization(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(public_member, github.NamedUser.NamedUser), public_member
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PUT",
|
||||
self.url + "/public_members/" + public_member._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/public_members/" + public_member._identity
|
||||
)
|
||||
|
||||
def create_fork(self, repo):
|
||||
@@ -263,9 +260,7 @@ class Organization(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
"/repos/" + repo.owner.login + "/" + repo.name + "/forks",
|
||||
url_parameters,
|
||||
None,
|
||||
None
|
||||
parameters=url_parameters
|
||||
)
|
||||
return github.Repository.Repository(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -318,9 +313,7 @@ class Organization(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/repos",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.Repository.Repository(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -345,9 +338,7 @@ class Organization(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/teams",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.Team.Team(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -384,9 +375,7 @@ class Organization(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
@@ -473,10 +462,7 @@ class Organization(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(name, (str, unicode)), name
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/repos/" + self.login + "/" + name,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/repos/" + self.login + "/" + name
|
||||
)
|
||||
return github.Repository.Repository(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -506,10 +492,7 @@ class Organization(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(id, (int, long)), id
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/teams/" + str(id),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/teams/" + str(id)
|
||||
)
|
||||
return github.Team.Team(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -534,10 +517,7 @@ class Organization(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(member, github.NamedUser.NamedUser), member
|
||||
status, headers, data = self._requester.requestJson(
|
||||
"GET",
|
||||
self.url + "/members/" + member._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/members/" + member._identity
|
||||
)
|
||||
return status == 204
|
||||
|
||||
@@ -550,10 +530,7 @@ class Organization(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(public_member, github.NamedUser.NamedUser), public_member
|
||||
status, headers, data = self._requester.requestJson(
|
||||
"GET",
|
||||
self.url + "/public_members/" + public_member._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/public_members/" + public_member._identity
|
||||
)
|
||||
return status == 204
|
||||
|
||||
@@ -566,10 +543,7 @@ class Organization(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(member, github.NamedUser.NamedUser), member
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url + "/members/" + member._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/members/" + member._identity
|
||||
)
|
||||
|
||||
def remove_from_public_members(self, public_member):
|
||||
@@ -581,10 +555,7 @@ class Organization(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(public_member, github.NamedUser.NamedUser), public_member
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url + "/public_members/" + public_member._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/public_members/" + public_member._identity
|
||||
)
|
||||
|
||||
def _initAttributes(self):
|
||||
|
||||
@@ -122,9 +122,7 @@ class PaginatedList(PaginatedListBase):
|
||||
headers, data = self.__requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.__firstUrl,
|
||||
self.__nextParams,
|
||||
None,
|
||||
None
|
||||
parameters=self.__nextParams
|
||||
)
|
||||
links = self.__parseLinkHeader(headers)
|
||||
lastUrl = links.get("last")
|
||||
@@ -149,9 +147,7 @@ class PaginatedList(PaginatedListBase):
|
||||
headers, data = self.__requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.__nextUrl,
|
||||
self.__nextParams,
|
||||
None,
|
||||
None
|
||||
parameters=self.__nextParams
|
||||
)
|
||||
|
||||
self.__nextUrl = None
|
||||
@@ -192,9 +188,7 @@ class PaginatedList(PaginatedListBase):
|
||||
headers, data = self.__requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.__firstUrl,
|
||||
params,
|
||||
None,
|
||||
None
|
||||
parameters=params
|
||||
)
|
||||
|
||||
return [
|
||||
|
||||
+7
-24
@@ -292,9 +292,7 @@ class PullRequest(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/comments",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.PullRequestComment.PullRequestComment(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -311,9 +309,7 @@ class PullRequest(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self._parentUrl(self._parentUrl(self.url)) + "/issues/" + str(self.number) + "/comments",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.IssueComment.IssueComment(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -338,9 +334,7 @@ class PullRequest(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
@@ -361,10 +355,7 @@ class PullRequest(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(id, (int, long)), id
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self._parentUrl(self.url) + "/comments/" + str(id),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self._parentUrl(self.url) + "/comments/" + str(id)
|
||||
)
|
||||
return github.PullRequestComment.PullRequestComment(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -420,10 +411,7 @@ class PullRequest(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(id, (int, long)), id
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self._parentUrl(self._parentUrl(self.url)) + "/issues/comments/" + str(id),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self._parentUrl(self._parentUrl(self.url)) + "/issues/comments/" + str(id)
|
||||
)
|
||||
return github.IssueComment.IssueComment(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -446,10 +434,7 @@ class PullRequest(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
status, headers, data = self._requester.requestJson(
|
||||
"GET",
|
||||
self.url + "/merge",
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/merge"
|
||||
)
|
||||
return status == 204
|
||||
|
||||
@@ -466,9 +451,7 @@ class PullRequest(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PUT",
|
||||
self.url + "/merge",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.PullRequestMergeStatus.PullRequestMergeStatus(self._requester, headers, data, completed=True)
|
||||
|
||||
|
||||
@@ -139,10 +139,7 @@ class PullRequestComment(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url
|
||||
)
|
||||
|
||||
def edit(self, body):
|
||||
@@ -158,9 +155,7 @@ class PullRequestComment(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
|
||||
+44
-156
@@ -317,10 +317,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(collaborator, github.NamedUser.NamedUser), collaborator
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PUT",
|
||||
self.url + "/collaborators/" + collaborator._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/collaborators/" + collaborator._identity
|
||||
)
|
||||
|
||||
def compare(self, base, head):
|
||||
@@ -334,10 +331,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(head, (str, unicode)), head
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/compare/" + base + "..." + head,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/compare/" + base + "..." + head
|
||||
)
|
||||
return github.Comparison.Comparison(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -365,9 +359,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/downloads",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.Download.Download(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -387,9 +379,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/git/blobs",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.GitBlob.GitBlob(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -420,9 +410,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/git/commits",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.GitCommit.GitCommit(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -442,9 +430,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/git/refs",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.GitRef.GitRef(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -474,9 +460,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/git/tags",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.GitTag.GitTag(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -497,9 +481,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/git/trees",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.GitTree.GitTree(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -527,9 +509,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/hooks",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.Hook.Hook(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -562,9 +542,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/issues",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.Issue.Issue(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -584,9 +562,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/keys",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.RepositoryKey.RepositoryKey(self._requester, headers, data, completed=True, repoUrl=self._url)
|
||||
|
||||
@@ -606,9 +582,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/labels",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.Label.Label(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -637,9 +611,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/milestones",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.Milestone.Milestone(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -676,9 +648,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/pulls",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
return github.PullRequest.PullRequest(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -689,10 +659,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url
|
||||
)
|
||||
|
||||
def edit(self, name, description=github.GithubObject.NotSet, homepage=github.GithubObject.NotSet, public=github.GithubObject.NotSet, has_issues=github.GithubObject.NotSet, has_wiki=github.GithubObject.NotSet, has_downloads=github.GithubObject.NotSet, default_branch=github.GithubObject.NotSet):
|
||||
@@ -736,9 +703,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
@@ -756,10 +721,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
url += "/" + ref
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
url,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
url
|
||||
)
|
||||
return headers["location"]
|
||||
|
||||
@@ -784,10 +746,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(branch, (str, unicode)), branch
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/branches/" + branch,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/branches/" + branch
|
||||
)
|
||||
return github.Branch.Branch(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -824,10 +783,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(id, (int, long)), id
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/comments/" + str(id),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/comments/" + str(id)
|
||||
)
|
||||
return github.CommitComment.CommitComment(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -852,10 +808,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(sha, (str, unicode)), sha
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/commits/" + sha,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/commits/" + sha
|
||||
)
|
||||
return github.Commit.Commit(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -912,9 +865,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/contents" + path,
|
||||
url_parameters,
|
||||
None,
|
||||
None
|
||||
parameters=url_parameters
|
||||
)
|
||||
return github.ContentFile.ContentFile(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -933,9 +884,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/contents" + path,
|
||||
url_parameters,
|
||||
None,
|
||||
None
|
||||
parameters=url_parameters
|
||||
)
|
||||
|
||||
# Handle 302 redirect response
|
||||
@@ -943,9 +892,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
headers['location'],
|
||||
url_parameters,
|
||||
None,
|
||||
None
|
||||
parameters=url_parameters
|
||||
)
|
||||
|
||||
return [
|
||||
@@ -974,10 +921,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(id, (int, long)), id
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/downloads/" + str(id),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/downloads/" + str(id)
|
||||
)
|
||||
return github.Download.Download(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -1026,10 +970,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(sha, (str, unicode)), sha
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/git/blobs/" + sha,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/git/blobs/" + sha
|
||||
)
|
||||
return github.GitBlob.GitBlob(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -1042,10 +983,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(sha, (str, unicode)), sha
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/git/commits/" + sha,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/git/commits/" + sha
|
||||
)
|
||||
return github.GitCommit.GitCommit(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -1061,10 +999,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(ref, (str, unicode)), ref
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + prefix + ref,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + prefix + ref
|
||||
)
|
||||
return github.GitRef.GitRef(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -1089,10 +1024,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(sha, (str, unicode)), sha
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/git/tags/" + sha,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/git/tags/" + sha
|
||||
)
|
||||
return github.GitTag.GitTag(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -1111,9 +1043,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/git/trees/" + sha,
|
||||
url_parameters,
|
||||
None,
|
||||
None
|
||||
parameters=url_parameters
|
||||
)
|
||||
return github.GitTree.GitTree(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -1126,10 +1056,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(id, (int, long)), id
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/hooks/" + str(id),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/hooks/" + str(id)
|
||||
)
|
||||
return github.Hook.Hook(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -1154,10 +1081,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(number, (int, long)), number
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/issues/" + str(number),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/issues/" + str(number)
|
||||
)
|
||||
return github.Issue.Issue(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -1246,10 +1170,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(id, (int, long)), id
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/issues/events/" + str(id),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/issues/events/" + str(id)
|
||||
)
|
||||
return github.IssueEvent.IssueEvent(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -1274,10 +1195,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(id, (int, long)), id
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/keys/" + str(id),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/keys/" + str(id)
|
||||
)
|
||||
return github.RepositoryKey.RepositoryKey(self._requester, headers, data, completed=True, repoUrl=self._url)
|
||||
|
||||
@@ -1302,10 +1220,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(name, (str, unicode)), name
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/labels/" + urllib.quote(name),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/labels/" + urllib.quote(name)
|
||||
)
|
||||
return github.Label.Label(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -1328,10 +1243,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/languages",
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/languages"
|
||||
)
|
||||
return data
|
||||
|
||||
@@ -1344,10 +1256,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(number, (int, long)), number
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/milestones/" + str(number),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/milestones/" + str(number)
|
||||
)
|
||||
return github.Milestone.Milestone(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -1397,10 +1306,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(number, (int, long)), number
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/pulls/" + str(number),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/pulls/" + str(number)
|
||||
)
|
||||
return github.PullRequest.PullRequest(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -1469,9 +1375,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
self.url + "/readme",
|
||||
url_parameters,
|
||||
None,
|
||||
None
|
||||
parameters=url_parameters
|
||||
)
|
||||
return github.ContentFile.ContentFile(self._requester, headers, data, completed=True)
|
||||
|
||||
@@ -1544,10 +1448,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(assignee, github.NamedUser.NamedUser), assignee
|
||||
status, headers, data = self._requester.requestJson(
|
||||
"GET",
|
||||
self.url + "/assignees/" + assignee._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/assignees/" + assignee._identity
|
||||
)
|
||||
return status == 204
|
||||
|
||||
@@ -1560,10 +1461,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(collaborator, github.NamedUser.NamedUser), collaborator
|
||||
status, headers, data = self._requester.requestJson(
|
||||
"GET",
|
||||
self.url + "/collaborators/" + collaborator._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/collaborators/" + collaborator._identity
|
||||
)
|
||||
return status == 204
|
||||
|
||||
@@ -1578,10 +1476,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(keyword, (str, unicode)), keyword
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"GET",
|
||||
"/legacy/issues/search/" + self.owner.login + "/" + self.name + "/" + state + "/" + urllib.quote(keyword),
|
||||
None,
|
||||
None,
|
||||
None
|
||||
"/legacy/issues/search/" + self.owner.login + "/" + self.name + "/" + state + "/" + urllib.quote(keyword)
|
||||
)
|
||||
return [
|
||||
github.Issue.Issue(self._requester, headers, github.Legacy.convertIssue(element), completed=False)
|
||||
@@ -1608,9 +1503,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"POST",
|
||||
self.url + "/merges",
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
if data is None:
|
||||
return None
|
||||
@@ -1626,10 +1519,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(collaborator, github.NamedUser.NamedUser), collaborator
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url + "/collaborators/" + collaborator._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/collaborators/" + collaborator._identity
|
||||
)
|
||||
|
||||
def subscribe_to_hub(self, event, callback, secret=github.GithubObject.NotSet):
|
||||
@@ -1669,9 +1559,7 @@ class Repository(github.GithubObject.CompletableGithubObject):
|
||||
responseHeaders, output = self._requester.requestMultipartAndCheck(
|
||||
"POST",
|
||||
"/hub",
|
||||
None,
|
||||
None,
|
||||
post_parameters,
|
||||
input=post_parameters
|
||||
)
|
||||
|
||||
@property
|
||||
|
||||
@@ -89,10 +89,7 @@ class RepositoryKey(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.__customUrl,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.__customUrl
|
||||
)
|
||||
|
||||
def edit(self, title=github.GithubObject.NotSet, key=github.GithubObject.NotSet):
|
||||
@@ -112,9 +109,7 @@ class RepositoryKey(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.__customUrl,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
|
||||
+16
-12
@@ -164,10 +164,10 @@ class Requester:
|
||||
'See http://developer.github.com/v3/#user-agent-required'
|
||||
self.__userAgent = user_agent
|
||||
|
||||
def requestJsonAndCheck(self, verb, url, parameters, headers, input):
|
||||
return self.__check(*self.requestJson(verb, url, parameters, headers, input))
|
||||
def requestJsonAndCheck(self, verb, url, parameters=None, headers=None, input=None, cnx=None):
|
||||
return self.__check(*self.requestJson(verb, url, parameters, headers, input, cnx))
|
||||
|
||||
def requestMultipartAndCheck(self, verb, url, parameters, headers, input):
|
||||
def requestMultipartAndCheck(self, verb, url, parameters=None, headers=None, input=None):
|
||||
return self.__check(*self.requestMultipart(verb, url, parameters, headers, input))
|
||||
|
||||
def __check(self, status, responseHeaders, output):
|
||||
@@ -200,13 +200,13 @@ class Requester:
|
||||
except ValueError, e:
|
||||
return {'data': data}
|
||||
|
||||
def requestJson(self, verb, url, parameters, headers, input):
|
||||
def requestJson(self, verb, url, parameters=None, headers=None, input=None, cnx=None):
|
||||
def encode(input):
|
||||
return "application/json", json.dumps(input)
|
||||
|
||||
return self.__requestEncode(verb, url, parameters, headers, input, encode)
|
||||
return self.__requestEncode(cnx, verb, url, parameters, headers, input, encode)
|
||||
|
||||
def requestMultipart(self, verb, url, parameters, headers, input):
|
||||
def requestMultipart(self, verb, url, parameters=None, headers=None, input=None):
|
||||
def encode(input):
|
||||
boundary = "----------------------------3c3ba8b523b2"
|
||||
eol = "\r\n"
|
||||
@@ -220,9 +220,9 @@ class Requester:
|
||||
encoded_input += "--" + boundary + "--" + eol
|
||||
return "multipart/form-data; boundary=" + boundary, encoded_input
|
||||
|
||||
return self.__requestEncode(verb, url, parameters, headers, input, encode)
|
||||
return self.__requestEncode(None, verb, url, parameters, headers, input, encode)
|
||||
|
||||
def __requestEncode(self, verb, url, parameters, requestHeaders, input, encode):
|
||||
def __requestEncode(self, cnx, verb, url, parameters, requestHeaders, input, encode):
|
||||
assert verb in ["HEAD", "GET", "POST", "PATCH", "PUT", "DELETE"]
|
||||
if parameters is None:
|
||||
parameters = dict()
|
||||
@@ -241,7 +241,7 @@ class Requester:
|
||||
|
||||
self.NEW_DEBUG_FRAME(requestHeaders)
|
||||
|
||||
status, responseHeaders, output = self.__requestRaw(verb, url, requestHeaders, encoded_input)
|
||||
status, responseHeaders, output = self.__requestRaw(cnx, verb, url, requestHeaders, encoded_input)
|
||||
|
||||
if "x-ratelimit-remaining" in responseHeaders and "x-ratelimit-limit" in responseHeaders:
|
||||
self.rate_limiting = (int(responseHeaders["x-ratelimit-remaining"]), int(responseHeaders["x-ratelimit-limit"]))
|
||||
@@ -255,8 +255,12 @@ class Requester:
|
||||
|
||||
return status, responseHeaders, output
|
||||
|
||||
def __requestRaw(self, verb, url, requestHeaders, input):
|
||||
cnx = self.__createConnection()
|
||||
def __requestRaw(self, cnx, verb, url, requestHeaders, input):
|
||||
if cnx is None:
|
||||
cnx = self.__createConnection()
|
||||
else:
|
||||
assert cnx == "status"
|
||||
cnx = self.__httpsConnectionClass("status.github.com", 443)
|
||||
cnx.request(
|
||||
verb,
|
||||
url,
|
||||
@@ -310,7 +314,7 @@ class Requester:
|
||||
kwds["strict"] = True # Useless in Python3, would generate a deprecation warning
|
||||
if atLeastPython26: # pragma no branch (Branch useful only with Python 2.5)
|
||||
kwds["timeout"] = self.__timeout # Did not exist before Python2.6
|
||||
return self.__connectionClass(host=self.__hostname, port=self.__port, **kwds)
|
||||
return self.__connectionClass(self.__hostname, self.__port, **kwds)
|
||||
|
||||
def __log(self, verb, url, requestHeaders, input, status, responseHeaders, output):
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
############################ Copyrights and license ############################
|
||||
# #
|
||||
# Copyright 2013 Vincent Jacques <vincent@vincent-jacques.net> #
|
||||
# #
|
||||
# This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #
|
||||
# #
|
||||
# PyGithub is free software: you can redistribute it and/or modify it under #
|
||||
# the terms of the GNU Lesser General Public License as published by the Free #
|
||||
# Software Foundation, either version 3 of the License, or (at your option) #
|
||||
# any later version. #
|
||||
# #
|
||||
# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY #
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #
|
||||
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #
|
||||
# details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU Lesser General Public License #
|
||||
# along with PyGithub. If not, see <http://www.gnu.org/licenses/>. #
|
||||
# #
|
||||
################################################################################
|
||||
|
||||
import github.GithubObject
|
||||
|
||||
|
||||
class Status(github.GithubObject.NonCompletableGithubObject):
|
||||
"""
|
||||
This class represents status as defined in https://status.github.com/api
|
||||
"""
|
||||
|
||||
@property
|
||||
def status(self):
|
||||
"""
|
||||
:type: string
|
||||
"""
|
||||
return self._NoneIfNotSet(self._status)
|
||||
|
||||
@property
|
||||
def last_updated(self):
|
||||
"""
|
||||
:type: datetime.datetime
|
||||
"""
|
||||
return self._NoneIfNotSet(self._last_updated)
|
||||
|
||||
def _initAttributes(self):
|
||||
self._status = github.GithubObject.NotSet
|
||||
self._last_updated = github.GithubObject.NotSet
|
||||
|
||||
def _useAttributes(self, attributes):
|
||||
if "status" in attributes: # pragma no branch
|
||||
assert attributes["status"] is None or isinstance(attributes["status"], (str, unicode)), attributes["status"]
|
||||
self._status = attributes["status"]
|
||||
if "last_updated" in attributes: # pragma no branch
|
||||
assert attributes["last_updated"] is None or isinstance(attributes["last_updated"], (str, unicode)), attributes["last_updated"]
|
||||
self._last_updated = self._parseDatetime(attributes["last_updated"])
|
||||
@@ -0,0 +1,66 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
############################ Copyrights and license ############################
|
||||
# #
|
||||
# Copyright 2013 Vincent Jacques <vincent@vincent-jacques.net> #
|
||||
# #
|
||||
# This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #
|
||||
# #
|
||||
# PyGithub is free software: you can redistribute it and/or modify it under #
|
||||
# the terms of the GNU Lesser General Public License as published by the Free #
|
||||
# Software Foundation, either version 3 of the License, or (at your option) #
|
||||
# any later version. #
|
||||
# #
|
||||
# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY #
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #
|
||||
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #
|
||||
# details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU Lesser General Public License #
|
||||
# along with PyGithub. If not, see <http://www.gnu.org/licenses/>. #
|
||||
# #
|
||||
################################################################################
|
||||
|
||||
import github.GithubObject
|
||||
|
||||
|
||||
class StatusMessage(github.GithubObject.NonCompletableGithubObject):
|
||||
"""
|
||||
This class represents status messages as defined in https://status.github.com/api
|
||||
"""
|
||||
|
||||
@property
|
||||
def body(self):
|
||||
"""
|
||||
:type: string
|
||||
"""
|
||||
return self._NoneIfNotSet(self._body)
|
||||
|
||||
@property
|
||||
def status(self):
|
||||
"""
|
||||
:type: string
|
||||
"""
|
||||
return self._NoneIfNotSet(self._status)
|
||||
|
||||
@property
|
||||
def created_on(self):
|
||||
"""
|
||||
:type: datetime.datetime
|
||||
"""
|
||||
return self._NoneIfNotSet(self._created_on)
|
||||
|
||||
def _initAttributes(self):
|
||||
self._status = github.GithubObject.NotSet
|
||||
self._created_on = github.GithubObject.NotSet
|
||||
|
||||
def _useAttributes(self, attributes):
|
||||
if "body" in attributes: # pragma no branch
|
||||
assert attributes["body"] is None or isinstance(attributes["body"], (str, unicode)), attributes["body"]
|
||||
self._body = attributes["body"]
|
||||
if "status" in attributes: # pragma no branch
|
||||
assert attributes["status"] is None or isinstance(attributes["status"], (str, unicode)), attributes["status"]
|
||||
self._status = attributes["status"]
|
||||
if "created_on" in attributes: # pragma no branch
|
||||
assert attributes["created_on"] is None or isinstance(attributes["created_on"], (str, unicode)), attributes["created_on"]
|
||||
self._created_on = self._parseDatetime(attributes["created_on"])
|
||||
+8
-31
@@ -94,10 +94,7 @@ class Team(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(member, github.NamedUser.NamedUser), member
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PUT",
|
||||
self.url + "/members/" + member._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/members/" + member._identity
|
||||
)
|
||||
|
||||
def add_to_repos(self, repo):
|
||||
@@ -109,10 +106,7 @@ class Team(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(repo, github.Repository.Repository), repo
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PUT",
|
||||
self.url + "/repos/" + repo._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/repos/" + repo._identity
|
||||
)
|
||||
|
||||
def delete(self):
|
||||
@@ -122,10 +116,7 @@ class Team(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url
|
||||
)
|
||||
|
||||
def edit(self, name, permission=github.GithubObject.NotSet):
|
||||
@@ -145,9 +136,7 @@ class Team(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
@@ -184,10 +173,7 @@ class Team(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(member, github.NamedUser.NamedUser), member
|
||||
status, headers, data = self._requester.requestJson(
|
||||
"GET",
|
||||
self.url + "/members/" + member._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/members/" + member._identity
|
||||
)
|
||||
return status == 204
|
||||
|
||||
@@ -200,10 +186,7 @@ class Team(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(repo, github.Repository.Repository), repo
|
||||
status, headers, data = self._requester.requestJson(
|
||||
"GET",
|
||||
self.url + "/repos/" + repo._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/repos/" + repo._identity
|
||||
)
|
||||
return status == 204
|
||||
|
||||
@@ -216,10 +199,7 @@ class Team(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(member, github.NamedUser.NamedUser), member
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url + "/members/" + member._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/members/" + member._identity
|
||||
)
|
||||
|
||||
def remove_from_repos(self, repo):
|
||||
@@ -231,10 +211,7 @@ class Team(github.GithubObject.CompletableGithubObject):
|
||||
assert isinstance(repo, github.Repository.Repository), repo
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url + "/repos/" + repo._identity,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url + "/repos/" + repo._identity
|
||||
)
|
||||
|
||||
@property
|
||||
|
||||
+2
-7
@@ -80,10 +80,7 @@ class UserKey(github.GithubObject.CompletableGithubObject):
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
None
|
||||
self.url
|
||||
)
|
||||
|
||||
def edit(self, title=github.GithubObject.NotSet, key=github.GithubObject.NotSet):
|
||||
@@ -103,9 +100,7 @@ class UserKey(github.GithubObject.CompletableGithubObject):
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PATCH",
|
||||
self.url,
|
||||
None,
|
||||
None,
|
||||
post_parameters
|
||||
input=post_parameters
|
||||
)
|
||||
self._useAttributes(data)
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@ from PullRequestFile import *
|
||||
from RateLimiting import *
|
||||
from Repository import *
|
||||
from RepositoryKey import *
|
||||
from Status import *
|
||||
from Tag import *
|
||||
from Team import *
|
||||
from UserKey import *
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
https
|
||||
GET
|
||||
status.github.com
|
||||
443
|
||||
/api/last-message.json
|
||||
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
|
||||
null
|
||||
200
|
||||
[('status', '200 OK'), ('content-length', '93'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('date', 'Fri, 06 Sep 2013 08:34:01 GMT'), ('content-type', 'application/json;charset=utf-8')]
|
||||
{"status":"good","body":"Everything operating normally.","created_on":"2013-09-01T15:41:46Z"}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
https
|
||||
GET
|
||||
status.github.com
|
||||
443
|
||||
/api/messages.json
|
||||
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
|
||||
null
|
||||
200
|
||||
[('status', '200 OK'), ('content-length', '1492'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('date', 'Fri, 06 Sep 2013 08:41:31 GMT'), ('content-type', 'application/json;charset=utf-8')]
|
||||
[{"status":"good","body":"Everything operating normally.","created_on":"2013-09-01T15:41:46Z"},{"status":"minor","body":"GitHub Pages are currently unavailable. We're investigating the problem.","created_on":"2013-09-01T15:26:59Z"},{"status":"good","body":"Everything operating normally.","created_on":"2013-09-01T15:17:24Z"},{"status":"minor","body":"We are investigating an increased rate of errors on GitHub.com","created_on":"2013-09-01T15:14:24Z"},{"status":"good","body":"Everything operating normally.","created_on":"2013-09-01T06:52:46Z"},{"status":"minor","body":"Some GitHub pages are again unavailable. We are continuing to investigate.","created_on":"2013-09-01T06:50:31Z"},{"status":"good","body":"Everything operating normally.","created_on":"2013-09-01T06:47:25Z"},{"status":"minor","body":"Some GitHub pages are temporarily unavailable.","created_on":"2013-09-01T06:43:03Z"},{"status":"good","body":"We're back up, now featuring a massively upgraded DB cluster with SSDs and 10Gbps networking! Thanks for your patience.","created_on":"2013-08-31T12:13:04Z"},{"status":"major","body":"We're beginning our scheduled maintenance now, and expect to be back up in 20 minutes. https://github.com/blog/1603-site-maintenance-august-31st-2013","created_on":"2013-08-31T12:00:13Z"},{"status":"good","body":"Everything operating normally.","created_on":"2013-08-31T11:45:50Z"},{"status":"minor","body":"We are investigating issues with GitHub Pages","created_on":"2013-08-31T11:43:39Z"}]
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
https
|
||||
GET
|
||||
status.github.com
|
||||
443
|
||||
/api/status.json
|
||||
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
|
||||
null
|
||||
200
|
||||
[('status', '200 OK'), ('content-length', '55'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('date', 'Fri, 06 Sep 2013 08:29:36 GMT'), ('content-type', 'application/json;charset=utf-8')]
|
||||
{"status":"good","last_updated":"2013-09-06T08:29:27Z"}
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
############################ Copyrights and license ############################
|
||||
# #
|
||||
# Copyright 2013 Vincent Jacques <vincent@vincent-jacques.net> #
|
||||
# #
|
||||
# This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #
|
||||
# #
|
||||
# PyGithub is free software: you can redistribute it and/or modify it under #
|
||||
# the terms of the GNU Lesser General Public License as published by the Free #
|
||||
# Software Foundation, either version 3 of the License, or (at your option) #
|
||||
# any later version. #
|
||||
# #
|
||||
# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY #
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #
|
||||
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #
|
||||
# details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU Lesser General Public License #
|
||||
# along with PyGithub. If not, see <http://www.gnu.org/licenses/>. #
|
||||
# #
|
||||
################################################################################
|
||||
|
||||
import Framework
|
||||
|
||||
import github
|
||||
import datetime
|
||||
|
||||
|
||||
class Status(Framework.TestCase):
|
||||
def testGetStatus(self):
|
||||
status = self.g.get_api_status()
|
||||
self.assertEqual(status.status, "good")
|
||||
self.assertEqual(status.last_updated, datetime.datetime(2013, 9, 6, 8, 29, 27))
|
||||
|
||||
def testGetLastMessage(self):
|
||||
message = self.g.get_last_api_status_message()
|
||||
self.assertEqual(message.status, "good")
|
||||
self.assertEqual(message.body, "Everything operating normally.")
|
||||
self.assertEqual(message.created_on, datetime.datetime(2013, 9, 1, 15, 41, 46))
|
||||
|
||||
def testGetMessages(self):
|
||||
self.assertListKeyEqual(self.g.get_api_status_messages(), lambda m: m.status, ["good", "minor", "good", "minor", "good", "minor", "good", "minor", "good", "major", "good", "minor"])
|
||||
Reference in New Issue
Block a user