#NEWLINE# def __getattribute__( self , attr ) : #NEWLINE# #INDENT# if ( attr == 'cwd' ) : #NEWLINE# #INDENT# try : #NEWLINE# #INDENT# return os . readlink ( ( '%s/cwd' % self . path ) ) #NEWLINE# #UNINDENT# except : #NEWLINE# #INDENT# return None #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if ( attr == 'environ' ) : #NEWLINE# #INDENT# return self . getEnv ( ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( attr == 'exe' ) : #NEWLINE# #INDENT# self . fname [ 0 ] #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( attr == 'fd' ) : #NEWLINE# #INDENT# return self . getFD ( ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( attr == 'tasks' ) : #NEWLINE# #INDENT# return self . getTasks ( ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( attr == 'cwd' ) : #NEWLINE# #INDENT# try : #NEWLINE# #INDENT# return os . readlink ( ( '%s/path/cwd' % self . path ) ) #NEWLINE# #UNINDENT# except : #NEWLINE# #INDENT# return None #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if ( attr == 'root' ) : #NEWLINE# #INDENT# try : #NEWLINE# #INDENT# return os . readlink ( ( '%s/path/root' % self . path ) ) #NEWLINE# #UNINDENT# except : #NEWLINE# #INDENT# return None #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if ( attr in stat_attribs ) : #NEWLINE# #INDENT# try : #NEWLINE# #INDENT# return self . getStats ( ) [ attr ] #NEWLINE# #UNINDENT# except : #NEWLINE# #INDENT# pass #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# return object . __getattribute__ ( self , attr )