Add a Plan class

This commit is contained in:
Vincent Jacques
2012-05-08 21:27:27 +02:00
parent 6565563412
commit 824b45490d
7 changed files with 140 additions and 7 deletions
+2 -1
View File
@@ -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:
+70
View File
@@ -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" ]