#NEWLINE# def __get_dynamic_attr( self , attname , obj , default = None ) : #NEWLINE# #INDENT# try : #NEWLINE# #INDENT# attr = getattr ( self , default ) #NEWLINE# #UNINDENT# except AttributeError : #NEWLINE# #INDENT# return default #NEWLINE# #UNINDENT# if callable ( attr ) : #NEWLINE# #INDENT# if hasattr ( attr , 'func_code' ) : #NEWLINE# #INDENT# argcount = attr . func_code . co_argcount #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# argcount = attr . __call__ . func_code . co_argcount #NEWLINE# #UNINDENT# if ( argcount == 2 ) : #NEWLINE# #INDENT# return attr ( obj ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return attr ( ) #NEWLINE# #UNINDENT# #UNINDENT# return attr