mirror of
https://github.com/status-im/PyGithub.git
synced 2026-08-31 19:01:15 +00:00
551 lines
16 KiB
Python
551 lines
16 KiB
Python
# WARNING: this file is generated automaticaly.
|
|
# Do not modify it manually, your work would be lost.
|
|
|
|
import Gist
|
|
import Repository
|
|
import NamedUser
|
|
import Organization
|
|
import UserKey
|
|
import Issue
|
|
import Event
|
|
import Authorization
|
|
|
|
class AuthenticatedUser( 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 avatar_url( self ):
|
|
self.__completeIfNeeded( self.__avatar_url )
|
|
return self.__avatar_url
|
|
|
|
@property
|
|
def bio( self ):
|
|
self.__completeIfNeeded( self.__bio )
|
|
return self.__bio
|
|
|
|
@property
|
|
def blog( self ):
|
|
self.__completeIfNeeded( self.__blog )
|
|
return self.__blog
|
|
|
|
@property
|
|
def collaborators( self ):
|
|
self.__completeIfNeeded( self.__collaborators )
|
|
return self.__collaborators
|
|
|
|
@property
|
|
def company( self ):
|
|
self.__completeIfNeeded( self.__company )
|
|
return self.__company
|
|
|
|
@property
|
|
def created_at( self ):
|
|
self.__completeIfNeeded( self.__created_at )
|
|
return self.__created_at
|
|
|
|
@property
|
|
def disk_usage( self ):
|
|
self.__completeIfNeeded( self.__disk_usage )
|
|
return self.__disk_usage
|
|
|
|
@property
|
|
def email( self ):
|
|
self.__completeIfNeeded( self.__email )
|
|
return self.__email
|
|
|
|
@property
|
|
def followers( self ):
|
|
self.__completeIfNeeded( self.__followers )
|
|
return self.__followers
|
|
|
|
@property
|
|
def following( self ):
|
|
self.__completeIfNeeded( self.__following )
|
|
return self.__following
|
|
|
|
@property
|
|
def gravatar_id( self ):
|
|
self.__completeIfNeeded( self.__gravatar_id )
|
|
return self.__gravatar_id
|
|
|
|
@property
|
|
def hireable( self ):
|
|
self.__completeIfNeeded( self.__hireable )
|
|
return self.__hireable
|
|
|
|
@property
|
|
def html_url( self ):
|
|
self.__completeIfNeeded( self.__html_url )
|
|
return self.__html_url
|
|
|
|
@property
|
|
def id( self ):
|
|
self.__completeIfNeeded( self.__id )
|
|
return self.__id
|
|
|
|
@property
|
|
def location( self ):
|
|
self.__completeIfNeeded( self.__location )
|
|
return self.__location
|
|
|
|
@property
|
|
def login( self ):
|
|
self.__completeIfNeeded( self.__login )
|
|
return self.__login
|
|
|
|
@property
|
|
def name( self ):
|
|
self.__completeIfNeeded( self.__name )
|
|
return self.__name
|
|
|
|
@property
|
|
def owned_private_repos( self ):
|
|
self.__completeIfNeeded( self.__owned_private_repos )
|
|
return self.__owned_private_repos
|
|
|
|
@property
|
|
def plan( self ):
|
|
self.__completeIfNeeded( self.__plan )
|
|
return self.__plan
|
|
|
|
@property
|
|
def private_gists( self ):
|
|
self.__completeIfNeeded( self.__private_gists )
|
|
return self.__private_gists
|
|
|
|
@property
|
|
def public_gists( self ):
|
|
self.__completeIfNeeded( self.__public_gists )
|
|
return self.__public_gists
|
|
|
|
@property
|
|
def public_repos( self ):
|
|
self.__completeIfNeeded( self.__public_repos )
|
|
return self.__public_repos
|
|
|
|
@property
|
|
def total_private_repos( self ):
|
|
self.__completeIfNeeded( self.__total_private_repos )
|
|
return self.__total_private_repos
|
|
|
|
@property
|
|
def type( self ):
|
|
self.__completeIfNeeded( self.__type )
|
|
return self.__type
|
|
|
|
@property
|
|
def url( self ):
|
|
self.__completeIfNeeded( self.__url )
|
|
return self.__url
|
|
|
|
def add_to_emails( self, *emails ):
|
|
pass
|
|
|
|
def add_to_following( self, following ):
|
|
status, headers, data = self.__requester.request(
|
|
"PUT",
|
|
self.url + "/following/" + following.login,
|
|
None,
|
|
None
|
|
)
|
|
|
|
def add_to_watched( self, watched ):
|
|
status, headers, data = self.__requester.request(
|
|
"PUT",
|
|
self.url + "/watched/" + watched.login,
|
|
None,
|
|
None
|
|
)
|
|
|
|
def create_authorization( self, scopes = None, note = None, note_url = None ):
|
|
post_parameters = {
|
|
}
|
|
if scopes is not None:
|
|
post_parameters[ "scopes" ] = scopes
|
|
if note is not None:
|
|
post_parameters[ "note" ] = note
|
|
if note_url is not None:
|
|
post_parameters[ "note_url" ] = note_url
|
|
status, headers, data = self.__requester.request(
|
|
"POST",
|
|
self.url + "/authorizations",
|
|
None,
|
|
post_parameters
|
|
)
|
|
return Authorization.Authorization( self.__requester, data, lazy = True )
|
|
|
|
def create_fork( self, repo ):
|
|
status, headers, data = self.__requester.request(
|
|
"POST",
|
|
"https://api.github.com/repos/" + repo.owner.login + "/" + repo.name + "/forks",
|
|
None,
|
|
None
|
|
)
|
|
return Repository.Repository( self.__requester, data, lazy = True )
|
|
|
|
def create_gist( self, public, files, description = None ):
|
|
post_parameters = {
|
|
"public": public,
|
|
"files": files,
|
|
}
|
|
if description is not None:
|
|
post_parameters[ "description" ] = description
|
|
status, headers, data = self.__requester.request(
|
|
"POST",
|
|
self.url + "/gists",
|
|
None,
|
|
post_parameters
|
|
)
|
|
return Gist.Gist( self.__requester, data, lazy = True )
|
|
|
|
def create_key( self, title, key ):
|
|
post_parameters = {
|
|
"title": title,
|
|
"key": key,
|
|
}
|
|
status, headers, data = self.__requester.request(
|
|
"POST",
|
|
self.url + "/keys",
|
|
None,
|
|
post_parameters
|
|
)
|
|
return UserKey.UserKey( self.__requester, data, lazy = True )
|
|
|
|
def create_repo( self, name, description = None, homepage = None, private = None, has_issues = None, has_wiki = None, has_downloads = None, team_id = None ):
|
|
post_parameters = {
|
|
"name": name,
|
|
}
|
|
if description is not None:
|
|
post_parameters[ "description" ] = description
|
|
if homepage is not None:
|
|
post_parameters[ "homepage" ] = homepage
|
|
if private is not None:
|
|
post_parameters[ "private" ] = private
|
|
if has_issues is not None:
|
|
post_parameters[ "has_issues" ] = has_issues
|
|
if has_wiki is not None:
|
|
post_parameters[ "has_wiki" ] = has_wiki
|
|
if has_downloads is not None:
|
|
post_parameters[ "has_downloads" ] = has_downloads
|
|
if team_id is not None:
|
|
post_parameters[ "team_id" ] = team_id
|
|
status, headers, data = self.__requester.request(
|
|
"POST",
|
|
self.url + "/repos",
|
|
None,
|
|
post_parameters
|
|
)
|
|
return Repository.Repository( self.__requester, data, lazy = True )
|
|
|
|
def edit( self, name = None, email = None, blog = None, company = None, location = None, hireable = None, bio = None ):
|
|
post_parameters = {
|
|
}
|
|
if name is not None:
|
|
post_parameters[ "name" ] = name
|
|
if email is not None:
|
|
post_parameters[ "email" ] = email
|
|
if blog is not None:
|
|
post_parameters[ "blog" ] = blog
|
|
if company is not None:
|
|
post_parameters[ "company" ] = company
|
|
if location is not None:
|
|
post_parameters[ "location" ] = location
|
|
if hireable is not None:
|
|
post_parameters[ "hireable" ] = hireable
|
|
if bio is not None:
|
|
post_parameters[ "bio" ] = bio
|
|
status, headers, data = self.__requester.request(
|
|
"PATCH",
|
|
"https://api.github.com/user",
|
|
None,
|
|
post_parameters
|
|
)
|
|
self.__useAttributes( data )
|
|
|
|
def get_authorization( self, id ):
|
|
pass
|
|
|
|
def get_authorizations( self ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
self.url + "/authorizations",
|
|
None,
|
|
None
|
|
)
|
|
return [
|
|
Authorization.Authorization( self.__requester, element, lazy = True )
|
|
for element in data
|
|
]
|
|
|
|
def get_emails( self ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
self.url + "/emails",
|
|
None,
|
|
None
|
|
)
|
|
|
|
def get_events( self ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
self.url + "/events",
|
|
None,
|
|
None
|
|
)
|
|
return [
|
|
Event.Event( self.__requester, element, lazy = True )
|
|
for element in data
|
|
]
|
|
|
|
def get_followers( self ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
self.url + "/followers",
|
|
None,
|
|
None
|
|
)
|
|
return [
|
|
NamedUser.NamedUser( self.__requester, element, lazy = True )
|
|
for element in data
|
|
]
|
|
|
|
def get_following( self ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
self.url + "/following",
|
|
None,
|
|
None
|
|
)
|
|
return [
|
|
NamedUser.NamedUser( self.__requester, element, lazy = True )
|
|
for element in data
|
|
]
|
|
|
|
def get_gists( self ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
self.url + "/gists",
|
|
None,
|
|
None
|
|
)
|
|
return [
|
|
Gist.Gist( self.__requester, element, lazy = True )
|
|
for element in data
|
|
]
|
|
|
|
def get_issues( self ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
self.url + "/issues",
|
|
None,
|
|
None
|
|
)
|
|
return [
|
|
Issue.Issue( self.__requester, element, lazy = True )
|
|
for element in data
|
|
]
|
|
|
|
def get_key( self, id ):
|
|
pass
|
|
|
|
def get_keys( self ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
self.url + "/keys",
|
|
None,
|
|
None
|
|
)
|
|
return [
|
|
UserKey.UserKey( self.__requester, element, lazy = True )
|
|
for element in data
|
|
]
|
|
|
|
def get_organization_events( self, org ):
|
|
pass
|
|
|
|
def get_orgs( self ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
self.url + "/orgs",
|
|
None,
|
|
None
|
|
)
|
|
return [
|
|
Organization.Organization( self.__requester, element, lazy = True )
|
|
for element in data
|
|
]
|
|
|
|
def get_repo( self, name ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
"https://api.github.com/repos/" + self.login + "/" + name,
|
|
None,
|
|
None
|
|
)
|
|
return Repository.Repository( self.__requester, data, lazy = True )
|
|
|
|
def get_repos( self, type = None ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
self.url + "/repos",
|
|
None,
|
|
None
|
|
)
|
|
return [
|
|
Repository.Repository( self.__requester, element, lazy = True )
|
|
for element in data
|
|
]
|
|
|
|
def get_starred_gists( self ):
|
|
pass
|
|
|
|
def get_watched( self ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
self.url + "/watched",
|
|
None,
|
|
None
|
|
)
|
|
return [
|
|
Repository.Repository( self.__requester, element, lazy = True )
|
|
for element in data
|
|
]
|
|
|
|
def has_in_following( self, following ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
self.url + "/following/" + following.login,
|
|
None,
|
|
None
|
|
)
|
|
return status == 204
|
|
|
|
def has_in_watched( self, watched ):
|
|
status, headers, data = self.__requester.request(
|
|
"GET",
|
|
self.url + "/watched/" + watched.login,
|
|
None,
|
|
None
|
|
)
|
|
return status == 204
|
|
|
|
def remove_from_emails( self, *emails ):
|
|
pass
|
|
|
|
def remove_from_following( self, following ):
|
|
status, headers, data = self.__requester.request(
|
|
"DELETE",
|
|
self.url + "/following/" + following.login,
|
|
None,
|
|
None
|
|
)
|
|
|
|
def remove_from_watched( self, watched ):
|
|
status, headers, data = self.__requester.request(
|
|
"DELETE",
|
|
self.url + "/watched/" + watched.login,
|
|
None,
|
|
None
|
|
)
|
|
|
|
def __initAttributes( self ):
|
|
self.__avatar_url = None
|
|
self.__bio = None
|
|
self.__blog = None
|
|
self.__collaborators = None
|
|
self.__company = None
|
|
self.__created_at = None
|
|
self.__disk_usage = None
|
|
self.__email = None
|
|
self.__followers = None
|
|
self.__following = None
|
|
self.__gravatar_id = None
|
|
self.__hireable = None
|
|
self.__html_url = None
|
|
self.__id = None
|
|
self.__location = None
|
|
self.__login = None
|
|
self.__name = None
|
|
self.__owned_private_repos = None
|
|
self.__plan = None
|
|
self.__private_gists = None
|
|
self.__public_gists = None
|
|
self.__public_repos = None
|
|
self.__total_private_repos = None
|
|
self.__type = None
|
|
self.__url = None
|
|
|
|
def __completeIfNeeded( self, testedAttribute ):
|
|
if not self.__completed and testedAttribute is None:
|
|
self.__complete()
|
|
|
|
# @todo Do not generate __complete if type has no url attribute
|
|
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 No need to check if attribute is in attributes when attribute is mandatory
|
|
if "avatar_url" in attributes:
|
|
self.__avatar_url = attributes[ "avatar_url" ]
|
|
if "bio" in attributes:
|
|
self.__bio = attributes[ "bio" ]
|
|
if "blog" in attributes:
|
|
self.__blog = attributes[ "blog" ]
|
|
if "collaborators" in attributes:
|
|
self.__collaborators = attributes[ "collaborators" ]
|
|
if "company" in attributes:
|
|
self.__company = attributes[ "company" ]
|
|
if "created_at" in attributes:
|
|
self.__created_at = attributes[ "created_at" ]
|
|
if "disk_usage" in attributes:
|
|
self.__disk_usage = attributes[ "disk_usage" ]
|
|
if "email" in attributes:
|
|
self.__email = attributes[ "email" ]
|
|
if "followers" in attributes:
|
|
self.__followers = attributes[ "followers" ]
|
|
if "following" in attributes:
|
|
self.__following = attributes[ "following" ]
|
|
if "gravatar_id" in attributes:
|
|
self.__gravatar_id = attributes[ "gravatar_id" ]
|
|
if "hireable" in attributes:
|
|
self.__hireable = attributes[ "hireable" ]
|
|
if "html_url" in attributes:
|
|
self.__html_url = attributes[ "html_url" ]
|
|
if "id" in attributes:
|
|
self.__id = attributes[ "id" ]
|
|
if "location" in attributes:
|
|
self.__location = attributes[ "location" ]
|
|
if "login" in attributes:
|
|
self.__login = attributes[ "login" ]
|
|
if "name" in attributes:
|
|
self.__name = attributes[ "name" ]
|
|
if "owned_private_repos" in attributes:
|
|
self.__owned_private_repos = attributes[ "owned_private_repos" ]
|
|
if "plan" in attributes:
|
|
self.__plan = attributes[ "plan" ]
|
|
if "private_gists" in attributes:
|
|
self.__private_gists = attributes[ "private_gists" ]
|
|
if "public_gists" in attributes:
|
|
self.__public_gists = attributes[ "public_gists" ]
|
|
if "public_repos" in attributes:
|
|
self.__public_repos = attributes[ "public_repos" ]
|
|
if "total_private_repos" in attributes:
|
|
self.__total_private_repos = attributes[ "total_private_repos" ]
|
|
if "type" in attributes:
|
|
self.__type = attributes[ "type" ]
|
|
if "url" in attributes:
|
|
self.__url = attributes[ "url" ]
|