mirror of
https://github.com/status-im/PyGithub.git
synced 2026-08-31 19:01:15 +00:00
Add a Plan class
This commit is contained in:
@@ -5,6 +5,7 @@ import PaginatedList
|
||||
import Gist
|
||||
import Repository
|
||||
import NamedUser
|
||||
import Plan
|
||||
import Organization
|
||||
import UserKey
|
||||
import Issue
|
||||
@@ -608,7 +609,7 @@ class AuthenticatedUser( object ):
|
||||
if "owned_private_repos" in attributes and attributes[ "owned_private_repos" ] is not None:
|
||||
self.__owned_private_repos = attributes[ "owned_private_repos" ]
|
||||
if "plan" in attributes and attributes[ "plan" ] is not None:
|
||||
self.__plan = attributes[ "plan" ]
|
||||
self.__plan = Plan.Plan( self.__requester, attributes[ "plan" ], lazy = True )
|
||||
if "private_gists" in attributes and attributes[ "private_gists" ] is not None:
|
||||
self.__private_gists = attributes[ "private_gists" ]
|
||||
if "public_gists" in attributes and attributes[ "public_gists" ] is not None:
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
# WARNING: this file is generated automaticaly.
|
||||
# Do not modify it manually, your work would be lost.
|
||||
|
||||
import PaginatedList
|
||||
# This allows None as a valid value for an optional parameter
|
||||
|
||||
class DefaultValueForOptionalParametersType:
|
||||
pass
|
||||
DefaultValueForOptionalParameters = DefaultValueForOptionalParametersType()
|
||||
|
||||
class Plan( 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 collaborators( self ):
|
||||
self.__completeIfNeeded( self.__collaborators )
|
||||
return self.__collaborators
|
||||
|
||||
@property
|
||||
def name( self ):
|
||||
self.__completeIfNeeded( self.__name )
|
||||
return self.__name
|
||||
|
||||
@property
|
||||
def private_repos( self ):
|
||||
self.__completeIfNeeded( self.__private_repos )
|
||||
return self.__private_repos
|
||||
|
||||
@property
|
||||
def space( self ):
|
||||
self.__completeIfNeeded( self.__space )
|
||||
return self.__space
|
||||
|
||||
def __initAttributes( self ):
|
||||
self.__collaborators = None
|
||||
self.__name = None
|
||||
self.__private_repos = None
|
||||
self.__space = 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 "collaborators" in attributes and attributes[ "collaborators" ] is not None:
|
||||
self.__collaborators = attributes[ "collaborators" ]
|
||||
if "name" in attributes and attributes[ "name" ] is not None:
|
||||
self.__name = attributes[ "name" ]
|
||||
if "private_repos" in attributes and attributes[ "private_repos" ] is not None:
|
||||
self.__private_repos = attributes[ "private_repos" ]
|
||||
if "space" in attributes and attributes[ "space" ] is not None:
|
||||
self.__space = attributes[ "space" ]
|
||||
Reference in New Issue
Block a user