#NEWLINE# def _get_data_legacyreport( self , params , filters ) : #NEWLINE# #INDENT# Report = to_function ( params [ 'report' ] ) #NEWLINE# assert issubclass ( Report , GenericTabularReport ) , ( '[%s] must be a GenericTabularReport!' % params [ 'report' ] ) #NEWLINE# report = Report ( request = self . request , domain = self . domain , ** params . get ( 'report_params' , { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } ) ) #NEWLINE# def _headers( e , root = [ ] ) : #NEWLINE# #INDENT# if hasattr ( e , '__iter__' ) : #NEWLINE# #INDENT# if hasattr ( e , 'html' ) : #NEWLINE# #INDENT# root = ( list ( root ) + [ unicode ( e . html ) ] ) #NEWLINE# #UNINDENT# for sub in e : #NEWLINE# #INDENT# for k in _headers ( sub , root ) : #NEWLINE# #INDENT# ( yield k ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# ( yield ( root + [ unicode ( e . html ) ] ) ) #NEWLINE# #UNINDENT# #UNINDENT# headers = [ '::' . join ( k ) for k in _headers ( report . headers ) ] #NEWLINE# for row in report . rows : #NEWLINE# #INDENT# ( yield dict ( zip ( headers , row ) ) )