mirror of
https://github.com/status-im/PyGithub.git
synced 2026-08-31 10:51:14 +00:00
Do all paginated calls inside PaginatedList
This was already the case for Legacy.PaginatedList. Doing it in PaginatedList.PaginatedList reduces the amount of repeated code and will allow a generic solution for issue #77
This commit is contained in:
+28
-112
@@ -332,17 +332,11 @@ class AuthenticatedUser( GithubObject.GithubObject ):
|
||||
return Authorization.Authorization( self._requester, data, completed = True )
|
||||
|
||||
def get_authorizations( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
"/authorizations",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Authorization.Authorization,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
"/authorizations",
|
||||
None
|
||||
)
|
||||
|
||||
def get_emails( self ):
|
||||
@@ -355,73 +349,43 @@ class AuthenticatedUser( GithubObject.GithubObject ):
|
||||
return data
|
||||
|
||||
def get_events( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
"/events",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Event.Event,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
"/events",
|
||||
None
|
||||
)
|
||||
|
||||
def get_followers( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
"/user/followers",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
NamedUser.NamedUser,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
"/user/followers",
|
||||
None
|
||||
)
|
||||
|
||||
def get_following( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
"/user/following",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
NamedUser.NamedUser,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
"/user/following",
|
||||
None
|
||||
)
|
||||
|
||||
def get_gists( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
"/gists",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Gist.Gist,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
"/gists",
|
||||
None
|
||||
)
|
||||
|
||||
def get_issues( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
"/issues",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Issue.Issue,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
"/issues",
|
||||
None
|
||||
)
|
||||
|
||||
def get_key( self, id ):
|
||||
@@ -435,46 +399,28 @@ class AuthenticatedUser( GithubObject.GithubObject ):
|
||||
return UserKey.UserKey( self._requester, data, completed = True )
|
||||
|
||||
def get_keys( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
"/user/keys",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
UserKey.UserKey,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
"/user/keys",
|
||||
None
|
||||
)
|
||||
|
||||
def get_organization_events( self, org ):
|
||||
assert isinstance( org, Organization.Organization ), org
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
"/users/" + self.login + "/events/orgs/" + org.login,
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Event.Event,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
"/users/" + self.login + "/events/orgs/" + org.login,
|
||||
None
|
||||
)
|
||||
|
||||
def get_orgs( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
"/user/orgs",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Organization.Organization,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
"/user/orgs",
|
||||
None
|
||||
)
|
||||
|
||||
def get_repo( self, name ):
|
||||
@@ -498,73 +444,43 @@ class AuthenticatedUser( GithubObject.GithubObject ):
|
||||
url_parameters[ "sort" ] = sort
|
||||
if direction is not GithubObject.NotSet:
|
||||
url_parameters[ "direction" ] = direction
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
"/user/repos",
|
||||
url_parameters,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Repository.Repository,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
"/user/repos",
|
||||
url_parameters
|
||||
)
|
||||
|
||||
def get_starred( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
"/user/starred",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Repository.Repository,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
"/user/starred",
|
||||
None
|
||||
)
|
||||
|
||||
def get_starred_gists( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
"/gists/starred",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Gist.Gist,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
"/gists/starred",
|
||||
None
|
||||
)
|
||||
|
||||
def get_subscriptions( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
"/user/subscriptions",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Repository.Repository,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
"/user/subscriptions",
|
||||
None
|
||||
)
|
||||
|
||||
def get_watched( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
"/user/watched",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Repository.Repository,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
"/user/watched",
|
||||
None
|
||||
)
|
||||
|
||||
def has_in_following( self, following ):
|
||||
|
||||
+4
-16
@@ -105,31 +105,19 @@ class Commit( GithubObject.GithubObject ):
|
||||
return CommitStatus.CommitStatus( self._requester, data, completed = True )
|
||||
|
||||
def get_comments( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/comments",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
CommitComment.CommitComment,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/comments",
|
||||
None
|
||||
)
|
||||
|
||||
def get_statuses( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self._parentUrl( self._parentUrl( self.url ) ) + "/statuses/" + self.sha,
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
CommitStatus.CommitStatus,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self._parentUrl( self._parentUrl( self.url ) ) + "/statuses/" + self.sha,
|
||||
None
|
||||
)
|
||||
|
||||
@property
|
||||
|
||||
+2
-8
@@ -154,17 +154,11 @@ class Gist( GithubObject.GithubObject ):
|
||||
return GistComment.GistComment( self._requester, data, completed = True )
|
||||
|
||||
def get_comments( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/comments",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
GistComment.GistComment,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/comments",
|
||||
None
|
||||
)
|
||||
|
||||
def is_starred( self ):
|
||||
|
||||
+2
-3
@@ -69,12 +69,11 @@ class Github( object ):
|
||||
return Gist.Gist( self.__requester, data, completed = True )
|
||||
|
||||
def get_gists( self ):
|
||||
headers, data = self.__requester.requestAndCheck( "GET", "/gists/public", None, None )
|
||||
return PaginatedList.PaginatedList(
|
||||
Gist.Gist,
|
||||
self.__requester,
|
||||
headers,
|
||||
data
|
||||
"/gists/public",
|
||||
None
|
||||
)
|
||||
|
||||
def legacy_search_repos( self, keyword, language = GithubObject.NotSet ):
|
||||
|
||||
+6
-24
@@ -183,45 +183,27 @@ class Issue( GithubObject.GithubObject ):
|
||||
return IssueComment.IssueComment( self._requester, data, completed = True )
|
||||
|
||||
def get_comments( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/comments",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
IssueComment.IssueComment,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/comments",
|
||||
None
|
||||
)
|
||||
|
||||
def get_events( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/events",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
IssueEvent.IssueEvent,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/events",
|
||||
None
|
||||
)
|
||||
|
||||
def get_labels( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/labels",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Label.Label,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/labels",
|
||||
None
|
||||
)
|
||||
|
||||
def remove_from_labels( self, label ):
|
||||
|
||||
+1
-2
@@ -15,7 +15,7 @@ from PaginatedList import PaginatedListBase
|
||||
|
||||
class PaginatedList( PaginatedListBase ):
|
||||
def __init__( self, url, args, requester, key, convert, contentClass ):
|
||||
PaginatedListBase.__init__( self, list() )
|
||||
PaginatedListBase.__init__( self )
|
||||
self.__url = url
|
||||
self.__args = args
|
||||
self.__requester = requester
|
||||
@@ -24,7 +24,6 @@ class PaginatedList( PaginatedListBase ):
|
||||
self.__contentClass = contentClass
|
||||
self.__nextPage = 1
|
||||
self.__continue = True
|
||||
self.__elements = list()
|
||||
|
||||
def _couldGrow( self ):
|
||||
return self.__continue
|
||||
|
||||
+2
-8
@@ -106,17 +106,11 @@ class Milestone( GithubObject.GithubObject ):
|
||||
self._useAttributes( data )
|
||||
|
||||
def get_labels( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/labels",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Label.Label,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/labels",
|
||||
None
|
||||
)
|
||||
|
||||
@property
|
||||
|
||||
+24
-96
@@ -172,115 +172,67 @@ class NamedUser( GithubObject.GithubObject ):
|
||||
return Gist.Gist( self._requester, data, completed = True )
|
||||
|
||||
def get_events( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/events",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Event.Event,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/events",
|
||||
None
|
||||
)
|
||||
|
||||
def get_followers( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/followers",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
NamedUser,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/followers",
|
||||
None
|
||||
)
|
||||
|
||||
def get_following( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/following",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
NamedUser,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/following",
|
||||
None
|
||||
)
|
||||
|
||||
def get_gists( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/gists",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Gist.Gist,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/gists",
|
||||
None
|
||||
)
|
||||
|
||||
def get_orgs( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/orgs",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Organization.Organization,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/orgs",
|
||||
None
|
||||
)
|
||||
|
||||
def get_public_events( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/events/public",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Event.Event,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/events/public",
|
||||
None
|
||||
)
|
||||
|
||||
def get_public_received_events( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/received_events/public",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Event.Event,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/received_events/public",
|
||||
None
|
||||
)
|
||||
|
||||
def get_received_events( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/received_events",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Event.Event,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/received_events",
|
||||
None
|
||||
)
|
||||
|
||||
def get_repo( self, name ):
|
||||
@@ -298,59 +250,35 @@ class NamedUser( GithubObject.GithubObject ):
|
||||
url_parameters = dict()
|
||||
if type is not GithubObject.NotSet:
|
||||
url_parameters[ "type" ] = type
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/repos",
|
||||
url_parameters,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Repository.Repository,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/repos",
|
||||
url_parameters
|
||||
)
|
||||
|
||||
def get_starred( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/starred",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Repository.Repository,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/starred",
|
||||
None
|
||||
)
|
||||
|
||||
def get_subscriptions( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/subscriptions",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Repository.Repository,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/subscriptions",
|
||||
None
|
||||
)
|
||||
|
||||
def get_watched( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/watched",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Repository.Repository,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/watched",
|
||||
None
|
||||
)
|
||||
|
||||
@property
|
||||
|
||||
+10
-40
@@ -245,45 +245,27 @@ class Organization( GithubObject.GithubObject ):
|
||||
self._useAttributes( data )
|
||||
|
||||
def get_events( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/events",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Event.Event,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/events",
|
||||
None
|
||||
)
|
||||
|
||||
def get_members( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/members",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
NamedUser.NamedUser,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/members",
|
||||
None
|
||||
)
|
||||
|
||||
def get_public_members( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/public_members",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
NamedUser.NamedUser,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/public_members",
|
||||
None
|
||||
)
|
||||
|
||||
def get_repo( self, name ):
|
||||
@@ -301,17 +283,11 @@ class Organization( GithubObject.GithubObject ):
|
||||
url_parameters = dict()
|
||||
if type is not GithubObject.NotSet:
|
||||
url_parameters[ "type" ] = type
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/repos",
|
||||
url_parameters,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Repository.Repository,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/repos",
|
||||
url_parameters
|
||||
)
|
||||
|
||||
def get_team( self, id ):
|
||||
@@ -325,17 +301,11 @@ class Organization( GithubObject.GithubObject ):
|
||||
return Team.Team( self._requester, data, completed = True )
|
||||
|
||||
def get_teams( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/teams",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Team.Team,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/teams",
|
||||
None
|
||||
)
|
||||
|
||||
def has_in_members( self, member ):
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
import GithubObject
|
||||
|
||||
class PaginatedListBase:
|
||||
def __init__( self, firstElements ):
|
||||
self.__elements = firstElements
|
||||
def __init__( self ):
|
||||
self.__elements = list()
|
||||
|
||||
def __getitem__( self, index ):
|
||||
assert isinstance( index, ( int, slice ) )
|
||||
@@ -65,24 +65,25 @@ class PaginatedListBase:
|
||||
return self.__stop is not None and index >= self.__stop
|
||||
|
||||
class PaginatedList( PaginatedListBase ):
|
||||
def __init__( self, contentClass, requester, headers, data ):
|
||||
def __init__( self, contentClass, requester, nextUrl, nextParams ):
|
||||
PaginatedListBase.__init__( self )
|
||||
self.__requester = requester
|
||||
self.__contentClass = contentClass
|
||||
PaginatedListBase.__init__( self, self.__extractNewElements( headers, data ) )
|
||||
self.__nextUrl = nextUrl
|
||||
self.__nextParams = nextParams
|
||||
|
||||
def _couldGrow( self ):
|
||||
return self.__nextUrl is not None
|
||||
|
||||
def _fetchNextPage( self ):
|
||||
headers, data = self.__requester.requestAndCheck( "GET", self.__nextUrl, None, None )
|
||||
return self.__extractNewElements( headers, data )
|
||||
headers, data = self.__requester.requestAndCheck( "GET", self.__nextUrl, self.__nextParams, None )
|
||||
|
||||
def __extractNewElements( self, headers, data ):
|
||||
links = self.__parseLinkHeader( headers )
|
||||
if len( data ) > 0 and "next" in links:
|
||||
self.__nextUrl = links[ "next" ]
|
||||
else:
|
||||
self.__nextUrl = None
|
||||
self.__nextParams = None
|
||||
|
||||
return [
|
||||
self.__contentClass( self.__requester, element, completed = False )
|
||||
|
||||
+8
-32
@@ -224,45 +224,27 @@ class PullRequest( GithubObject.GithubObject ):
|
||||
return self.get_review_comments()
|
||||
|
||||
def get_review_comments( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/comments",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
PullRequestComment.PullRequestComment,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/comments",
|
||||
None
|
||||
)
|
||||
|
||||
def get_commits( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/commits",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Commit.Commit,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/commits",
|
||||
None
|
||||
)
|
||||
|
||||
def get_files( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/files",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
File.File,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/files",
|
||||
None
|
||||
)
|
||||
|
||||
def get_issue_comment( self, id ):
|
||||
@@ -276,17 +258,11 @@ class PullRequest( GithubObject.GithubObject ):
|
||||
return IssueComment.IssueComment( self._requester, data, completed = True )
|
||||
|
||||
def get_issue_comments( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self._parentUrl( self._parentUrl( self.url ) ) + "/issues/" + str( self.number ) + "/comments",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
IssueComment.IssueComment,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self._parentUrl( self._parentUrl( self.url ) ) + "/issues/" + str( self.number ) + "/comments",
|
||||
None
|
||||
)
|
||||
|
||||
def is_merged( self ):
|
||||
|
||||
+46
-184
@@ -510,17 +510,11 @@ class Repository( GithubObject.GithubObject ):
|
||||
return headers[ "location" ]
|
||||
|
||||
def get_assignees( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/assignees",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
NamedUser.NamedUser,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/assignees",
|
||||
None
|
||||
)
|
||||
|
||||
def get_branch( self, branch ):
|
||||
@@ -534,31 +528,19 @@ class Repository( GithubObject.GithubObject ):
|
||||
return Branch.Branch( self._requester, data, completed = True )
|
||||
|
||||
def get_branches( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/branches",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Branch.Branch,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/branches",
|
||||
None
|
||||
)
|
||||
|
||||
def get_collaborators( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/collaborators",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
NamedUser.NamedUser,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/collaborators",
|
||||
None
|
||||
)
|
||||
|
||||
def get_comment( self, id ):
|
||||
@@ -572,17 +554,11 @@ class Repository( GithubObject.GithubObject ):
|
||||
return CommitComment.CommitComment( self._requester, data, completed = True )
|
||||
|
||||
def get_comments( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/comments",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
CommitComment.CommitComment,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/comments",
|
||||
None
|
||||
)
|
||||
|
||||
def get_commit( self, sha ):
|
||||
@@ -603,17 +579,11 @@ class Repository( GithubObject.GithubObject ):
|
||||
url_parameters[ "sha" ] = sha
|
||||
if path is not GithubObject.NotSet:
|
||||
url_parameters[ "path" ] = path
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/commits",
|
||||
url_parameters,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Commit.Commit,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/commits",
|
||||
url_parameters
|
||||
)
|
||||
|
||||
def get_contents( self, path ):
|
||||
@@ -627,17 +597,11 @@ class Repository( GithubObject.GithubObject ):
|
||||
return ContentFile.ContentFile( self._requester, data, completed = True )
|
||||
|
||||
def get_contributors( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/contributors",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
NamedUser.NamedUser,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/contributors",
|
||||
None
|
||||
)
|
||||
|
||||
def get_download( self, id ):
|
||||
@@ -651,45 +615,27 @@ class Repository( GithubObject.GithubObject ):
|
||||
return Download.Download( self._requester, data, completed = True )
|
||||
|
||||
def get_downloads( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/downloads",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Download.Download,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/downloads",
|
||||
None
|
||||
)
|
||||
|
||||
def get_events( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/events",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Event.Event,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/events",
|
||||
None
|
||||
)
|
||||
|
||||
def get_forks( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/forks",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Repository,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/forks",
|
||||
None
|
||||
)
|
||||
|
||||
def get_git_blob( self, sha ):
|
||||
@@ -723,17 +669,11 @@ class Repository( GithubObject.GithubObject ):
|
||||
return GitRef.GitRef( self._requester, data, completed = True )
|
||||
|
||||
def get_git_refs( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/git/refs",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
GitRef.GitRef,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/git/refs",
|
||||
None
|
||||
)
|
||||
|
||||
def get_git_tag( self, sha ):
|
||||
@@ -771,17 +711,11 @@ class Repository( GithubObject.GithubObject ):
|
||||
return Hook.Hook( self._requester, data, completed = True )
|
||||
|
||||
def get_hooks( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/hooks",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Hook.Hook,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/hooks",
|
||||
None
|
||||
)
|
||||
|
||||
def get_issue( self, number ):
|
||||
@@ -826,17 +760,11 @@ class Repository( GithubObject.GithubObject ):
|
||||
url_parameters[ "direction" ] = direction
|
||||
if since is not GithubObject.NotSet:
|
||||
url_parameters[ "since" ] = since.strftime( "%Y-%m-%dT%H:%M:%SZ" )
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/issues",
|
||||
url_parameters,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Issue.Issue,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/issues",
|
||||
url_parameters
|
||||
)
|
||||
|
||||
def get_issues_event( self, id ):
|
||||
@@ -850,17 +778,11 @@ class Repository( GithubObject.GithubObject ):
|
||||
return IssueEvent.IssueEvent( self._requester, data, completed = True )
|
||||
|
||||
def get_issues_events( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/issues/events",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
IssueEvent.IssueEvent,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/issues/events",
|
||||
None
|
||||
)
|
||||
|
||||
def get_key( self, id ):
|
||||
@@ -874,17 +796,11 @@ class Repository( GithubObject.GithubObject ):
|
||||
return RepositoryKey.RepositoryKey( self._requester, data, completed = True, repoUrl = self._url )
|
||||
|
||||
def get_keys( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/keys",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
lambda requester, data, completed: RepositoryKey.RepositoryKey( requester, data, completed, repoUrl = self._url ),
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/keys",
|
||||
None
|
||||
)
|
||||
|
||||
def get_label( self, name ):
|
||||
@@ -898,17 +814,11 @@ class Repository( GithubObject.GithubObject ):
|
||||
return Label.Label( self._requester, data, completed = True )
|
||||
|
||||
def get_labels( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/labels",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Label.Label,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/labels",
|
||||
None
|
||||
)
|
||||
|
||||
def get_languages( self ):
|
||||
@@ -941,31 +851,19 @@ class Repository( GithubObject.GithubObject ):
|
||||
url_parameters[ "sort" ] = sort
|
||||
if direction is not GithubObject.NotSet:
|
||||
url_parameters[ "direction" ] = direction
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/milestones",
|
||||
url_parameters,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Milestone.Milestone,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/milestones",
|
||||
url_parameters
|
||||
)
|
||||
|
||||
def get_network_events( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
"/networks/" + self.owner.login + "/" + self.name + "/events",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Event.Event,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
"/networks/" + self.owner.login + "/" + self.name + "/events",
|
||||
None
|
||||
)
|
||||
|
||||
def get_pull( self, number ):
|
||||
@@ -983,17 +881,11 @@ class Repository( GithubObject.GithubObject ):
|
||||
url_parameters = dict()
|
||||
if state is not GithubObject.NotSet:
|
||||
url_parameters[ "state" ] = state
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/pulls",
|
||||
url_parameters,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
PullRequest.PullRequest,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/pulls",
|
||||
url_parameters
|
||||
)
|
||||
|
||||
def get_readme( self ):
|
||||
@@ -1006,73 +898,43 @@ class Repository( GithubObject.GithubObject ):
|
||||
return ContentFile.ContentFile( self._requester, data, completed = True )
|
||||
|
||||
def get_stargazers( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/stargazers",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
NamedUser.NamedUser,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/stargazers",
|
||||
None
|
||||
)
|
||||
|
||||
def get_subscribers( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/subscribers",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
NamedUser.NamedUser,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/subscribers",
|
||||
None
|
||||
)
|
||||
|
||||
def get_tags( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/tags",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Tag.Tag,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/tags",
|
||||
None
|
||||
)
|
||||
|
||||
def get_teams( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/teams",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Team.Team,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/teams",
|
||||
None
|
||||
)
|
||||
|
||||
def get_watchers( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/watchers",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
NamedUser.NamedUser,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/watchers",
|
||||
None
|
||||
)
|
||||
|
||||
def has_in_assignees( self, assignee ):
|
||||
|
||||
+4
-16
@@ -91,31 +91,19 @@ class Team( GithubObject.GithubObject ):
|
||||
self._useAttributes( data )
|
||||
|
||||
def get_members( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/members",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
NamedUser.NamedUser,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/members",
|
||||
None
|
||||
)
|
||||
|
||||
def get_repos( self ):
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
self.url + "/repos",
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Repository.Repository,
|
||||
self._requester,
|
||||
headers,
|
||||
data
|
||||
self.url + "/repos",
|
||||
None
|
||||
)
|
||||
|
||||
def has_in_members( self, member ):
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user