#NEWLINE# def _fix_soap_datatype( data ) : #NEWLINE# #INDENT# def _f( args ) : #NEWLINE# #INDENT# s = list ( args ) [ : ] #NEWLINE# for ( i , v ) in enumerate ( args ) : #NEWLINE# #INDENT# if ( not isinstance ( v , dict ) ) : #NEWLINE# #INDENT# if ( type ( v ) in TYPE_MAP . keys ( ) ) : #NEWLINE# #INDENT# s [ i ] = { #NEWLINE# #INDENT# TYPE_MAP [ type ( v ) ] : v , #NEWLINE# #UNINDENT# } #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# raise Exception ( ( 'Unsupport type %r' % v ) ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# return s #NEWLINE# #UNINDENT# if isinstance ( data , ( tuple , list ) ) : #NEWLINE# #INDENT# return _f ( data ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if isinstance ( data , dict ) : #NEWLINE# #INDENT# d = ( data or { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } ) #NEWLINE# for ( k , v ) in d . items ( ) : #NEWLINE# #INDENT# if isinstance ( v , ( tuple , list ) ) : #NEWLINE# #INDENT# d [ k ] = _f ( v ) #NEWLINE# #UNINDENT# #UNINDENT# return d #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return data