#NEWLINE# def __getattr__( self , name ) : #NEWLINE# #INDENT# if name . startswith ( 'thr_' ) : #NEWLINE# #INDENT# return self . __dict__ [ name ] #NEWLINE# #UNINDENT# attr = self . thr_instance . __getattribute__ ( name ) #NEWLINE# if callable ( attr ) : #NEWLINE# #INDENT# self . thr_lastCallFunc = self . thr_instance . __class__ . __dict__ [ name ] #NEWLINE# return self . _callFunc #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( type ( attr ) in ( list , dict ) ) : #NEWLINE# #INDENT# self . emit ( SIGNAL ( 'fromMainThreadBlocking(PyQt_PyObject, PyQt_PyObject)' ) , ( self . ACTION_GETLIST if ( type ( attr ) == list ) else self . ACTION_GETDICT ) , name ) #NEWLINE# return self . thr_result #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if isinstance ( attr , collections . Hashable ) : #NEWLINE# #INDENT# return attr #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# raise TypeError ( ( 'unhashable type: %s' % type ( attr ) . __name__ ) )