mirror of
https://github.com/status-im/PyGithub.git
synced 2026-08-31 19:01:15 +00:00
187 lines
5.6 KiB
Python
187 lines
5.6 KiB
Python
# WARNING: this file is generated automaticaly.
|
|
# Do not modify it manually, your work would be lost.
|
|
|
|
import PaginatedList
|
|
from GithubObject import *
|
|
import Repository
|
|
import NamedUser
|
|
|
|
class Team( object ):
|
|
def __init__( self, requester, attributes, lazy ):
|
|
self.__requester = requester
|
|
self.__completed = False
|
|
self.__initAttributes()
|
|
self.__useAttributes( attributes )
|
|
if not lazy:
|
|
self.__complete()
|
|
|
|
@property
|
|
def id( self ):
|
|
self.__completeIfNeeded( self.__id )
|
|
return self.__id
|
|
|
|
@property
|
|
def members_count( self ):
|
|
self.__completeIfNeeded( self.__members_count )
|
|
return self.__members_count
|
|
|
|
@property
|
|
def name( self ):
|
|
self.__completeIfNeeded( self.__name )
|
|
return self.__name
|
|
|
|
@property
|
|
def permission( self ):
|
|
self.__completeIfNeeded( self.__permission )
|
|
return self.__permission
|
|
|
|
@property
|
|
def repos_count( self ):
|
|
self.__completeIfNeeded( self.__repos_count )
|
|
return self.__repos_count
|
|
|
|
@property
|
|
def url( self ):
|
|
self.__completeIfNeeded( self.__url )
|
|
return self.__url
|
|
|
|
def add_to_members( self, member ):
|
|
status, headers, data = self.__requester.request(
|
|
"PUT",
|
|
str( self.url ) + "/members" + "/" + str( member._identity ),
|
|
None,
|
|
None
|
|
)
|
|
|
|
def add_to_repos( self, repo ):
|
|
status, headers, data = self.__requester.request(
|
|
"PUT",
|
|
str( self.url ) + "/repos" + "/" + str( repo._identity ),
|
|
None,
|
|
None
|
|
)
|
|
|
|
def delete( self ):
|
|
status, headers, data = self.__requester.request(
|
|
"DELETE",
|
|
str( self.url ),
|
|
None,
|
|
None
|
|
)
|
|
|
|
def edit( self, name, permission = DefaultValueForOptionalParameters ):
|
|
post_parameters = {
|
|
"name": name,
|
|
}
|
|
if permission is not DefaultValueForOptionalParameters:
|
|
post_parameters[ "permission" ] = permission
|
|
status, headers, data = self.__requester.request(
|
|
"PATCH",
|
|
str( self.url ),
|
|
None,
|
|
post_parameters
|
|
)
|
|
self.__useAttributes( data )
|
|
|
|
def get_members( self ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
str( self.url ) + "/members",
|
|
None,
|
|
None
|
|
)
|
|
return PaginatedList.PaginatedList(
|
|
NamedUser.NamedUser,
|
|
self.__requester,
|
|
headers,
|
|
data
|
|
)
|
|
|
|
def get_repos( self ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
str( self.url ) + "/repos",
|
|
None,
|
|
None
|
|
)
|
|
return PaginatedList.PaginatedList(
|
|
Repository.Repository,
|
|
self.__requester,
|
|
headers,
|
|
data
|
|
)
|
|
|
|
def has_in_members( self, member ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
str( self.url ) + "/members" + "/" + str( member._identity ),
|
|
None,
|
|
None
|
|
)
|
|
return status == 204
|
|
|
|
def has_in_repos( self, repo ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
str( self.url ) + "/repos" + "/" + str( repo._identity ),
|
|
None,
|
|
None
|
|
)
|
|
return status == 204
|
|
|
|
def remove_from_members( self, member ):
|
|
status, headers, data = self.__requester.request(
|
|
"DELETE",
|
|
str( self.url ) + "/members" + "/" + str( member._identity ),
|
|
None,
|
|
None
|
|
)
|
|
|
|
def remove_from_repos( self, repo ):
|
|
status, headers, data = self.__requester.request(
|
|
"DELETE",
|
|
str( self.url ) + "/repos" + "/" + str( repo._identity ),
|
|
None,
|
|
None
|
|
)
|
|
|
|
def __initAttributes( self ):
|
|
self.__id = None
|
|
self.__members_count = None
|
|
self.__name = None
|
|
self.__permission = None
|
|
self.__repos_count = None
|
|
self.__url = None
|
|
|
|
def __completeIfNeeded( self, testedAttribute ):
|
|
if not self.__completed and testedAttribute is None:
|
|
self.__complete()
|
|
|
|
def __complete( self ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
self.__url,
|
|
None,
|
|
None
|
|
)
|
|
self.__useAttributes( data )
|
|
self.__completed = True
|
|
|
|
def __useAttributes( self, attributes ):
|
|
# @todo Remove this debug weakness: we shall assume that github will add new attributes
|
|
for attribute in attributes:
|
|
assert attribute in [ "id", "members_count", "name", "permission", "repos_count", "url", ]
|
|
# @todo No need to check if attribute is in attributes when attribute is mandatory
|
|
if "id" in attributes and attributes[ "id" ] is not None:
|
|
self.__id = attributes[ "id" ]
|
|
if "members_count" in attributes and attributes[ "members_count" ] is not None:
|
|
self.__members_count = attributes[ "members_count" ]
|
|
if "name" in attributes and attributes[ "name" ] is not None:
|
|
self.__name = attributes[ "name" ]
|
|
if "permission" in attributes and attributes[ "permission" ] is not None:
|
|
self.__permission = attributes[ "permission" ]
|
|
if "repos_count" in attributes and attributes[ "repos_count" ] is not None:
|
|
self.__repos_count = attributes[ "repos_count" ]
|
|
if "url" in attributes and attributes[ "url" ] is not None:
|
|
self.__url = attributes[ "url" ]
|