Files
PyGithub/github/GithubObjects/GitAuthor.py
T
2012-05-09 18:20:26 +02:00

66 lines
2.2 KiB
Python

# 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 GitAuthor( 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 date( self ):
self.__completeIfNeeded( self.__date )
return self.__date
@property
def email( self ):
self.__completeIfNeeded( self.__email )
return self.__email
@property
def name( self ):
self.__completeIfNeeded( self.__name )
return self.__name
def __initAttributes( self ):
self.__date = None
self.__email = None
self.__name = 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 "date" in attributes and attributes[ "date" ] is not None:
assert isinstance( attributes[ "date" ], ( str, unicode ) )
self.__date = attributes[ "date" ]
if "email" in attributes and attributes[ "email" ] is not None:
assert isinstance( attributes[ "email" ], ( str, unicode ) )
self.__email = attributes[ "email" ]
if "name" in attributes and attributes[ "name" ] is not None:
assert isinstance( attributes[ "name" ], ( str, unicode ) )
self.__name = attributes[ "name" ]