Add a GitAuthor class

This commit is contained in:
Vincent Jacques
2012-05-09 18:20:26 +02:00
parent 80b4e550f3
commit f23ad16aaa
6 changed files with 133 additions and 12 deletions
+65
View File
@@ -0,0 +1,65 @@
# 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" ]
+5 -2
View File
@@ -2,6 +2,7 @@
# Do not modify it manually, your work would be lost.
import PaginatedList
import GitAuthor
import GitTree
# This allows None as a valid value for an optional parameter
@@ -79,9 +80,11 @@ class GitCommit( object ):
def __useAttributes( self, attributes ):
#@todo No need to check if attribute is in attributes when attribute is mandatory
if "author" in attributes and attributes[ "author" ] is not None:
self.__author = attributes[ "author" ]
assert isinstance( attributes[ "author" ], dict )
self.__author = GitAuthor.GitAuthor( self.__requester, attributes[ "author" ], lazy = True )
if "committer" in attributes and attributes[ "committer" ] is not None:
self.__committer = attributes[ "committer" ]
assert isinstance( attributes[ "committer" ], dict )
self.__committer = GitAuthor.GitAuthor( self.__requester, attributes[ "committer" ], lazy = True )
if "message" in attributes and attributes[ "message" ] is not None:
self.__message = attributes[ "message" ]
if "parents" in attributes and attributes[ "parents" ] is not None: