Reorganize

This commit is contained in:
Vincent Jacques
2012-02-25 08:23:45 +00:00
parent 459f3f71bb
commit 220a3ff9ab
2 changed files with 39 additions and 41 deletions
+34
View File
@@ -27,3 +27,37 @@ class MethodFromCallable:
def apply( self, cls ):
cls._addMethod( self.__name, self.__callable )
class InternalAttribute:
class AttributeDefinition:
def __init__( self, typePolicy ):
self.__typePolicy = typePolicy
def getValueFromRawValue( self, obj, rawValue ):
if rawValue is None:
return None
else:
return self.__typePolicy.create( obj, rawValue )
def updateAttributes( self, obj ):
attributes = obj._github._dataRequest( "GET", obj._baseUrl, None, None )
obj._updateAttributes( attributes )
obj._markAsCompleted()
def isLazy( self ):
return True
def __init__( self, attributeName, typePolicy ):
self.__attributeName = attributeName
self.__typePolicy = typePolicy
def apply( self, cls ):
cls._addAttribute( self.__attributeName, InternalAttribute.AttributeDefinition( self.__typePolicy ) )
class SeveralAttributes:
def __init__( self, attributePolicies ):
self.__attributePolicies = attributePolicies
def apply( self, cls ):
for attributePolicy in self.__attributePolicies:
attributePolicy.apply( cls )