mirror of
https://github.com/status-im/PyGithub.git
synced 2026-08-31 19:01:15 +00:00
Merge branch 'topic/ExposePagination' into develop
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 ):
|
||||
|
||||
+11
-6
@@ -15,28 +15,33 @@ 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
|
||||
self.__key = key
|
||||
self.__convert = convert
|
||||
self.__contentClass = contentClass
|
||||
self.__nextPage = 1
|
||||
self.__nextPage = 0
|
||||
self.__continue = True
|
||||
self.__elements = list()
|
||||
|
||||
def _couldGrow( self ):
|
||||
return self.__continue
|
||||
|
||||
def _fetchNextPage( self ):
|
||||
if self.__nextPage != 1:
|
||||
self.__args[ "start_page" ] = self.__nextPage
|
||||
page = self.__nextPage
|
||||
self.__nextPage += 1
|
||||
return self.get_page( page )
|
||||
|
||||
def get_page( self, page ):
|
||||
assert isinstance( page, int ), page
|
||||
args = dict( self.__args )
|
||||
if page != 0:
|
||||
args[ "start_page" ] = page + 1
|
||||
headers, data = self.__requester.requestAndCheck(
|
||||
"GET",
|
||||
self.__url,
|
||||
self.__args,
|
||||
args,
|
||||
None
|
||||
)
|
||||
self.__continue = len( data[ self.__key ] ) > 0
|
||||
|
||||
+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 ):
|
||||
|
||||
+21
-7
@@ -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,27 @@ 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, firstUrl, firstParams ):
|
||||
PaginatedListBase.__init__( self )
|
||||
self.__requester = requester
|
||||
self.__contentClass = contentClass
|
||||
PaginatedListBase.__init__( self, self.__extractNewElements( headers, data ) )
|
||||
self.__firstUrl = firstUrl
|
||||
self.__firstParams = firstParams
|
||||
self.__nextUrl = firstUrl
|
||||
self.__nextParams = firstParams
|
||||
|
||||
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 )
|
||||
@@ -99,3 +102,14 @@ class PaginatedList( PaginatedListBase ):
|
||||
rel = rel[ 5 : -1 ]
|
||||
links[ rel ] = url
|
||||
return links
|
||||
|
||||
def get_page( self, page ):
|
||||
params = dict( self.__firstParams )
|
||||
if page != 0:
|
||||
params[ "page" ] = page + 1
|
||||
headers, data = self.__requester.requestAndCheck( "GET", self.__firstUrl, params, None )
|
||||
|
||||
return [
|
||||
self.__contentClass( self.__requester, element, completed = False )
|
||||
for element in data
|
||||
]
|
||||
|
||||
+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 ):
|
||||
|
||||
Reference in New Issue
Block a user