#NEWLINE# def nested_crossproduct_scatter( self , joborder , scatter_keys ) : #NEWLINE# #INDENT# scatter_key = shortname ( scatter_keys [ 0 ] ) #NEWLINE# l = len ( joborder [ scatter_key ] ) #NEWLINE# outputs = [ ] #NEWLINE# for n in xrange ( 0 , l ) : #NEWLINE# #INDENT# jo = copy . copy ( joborder ) #NEWLINE# jo [ scatter_key ] = self . valueFromFunc ( scatter_key , joborder [ scatter_key ] [ n ] ) #NEWLINE# if ( len ( scatter_keys ) == 1 ) : #NEWLINE# #INDENT# ( subjob , followOn ) = makeJob ( self . step . embedded_tool , jo ) #NEWLINE# self . addChild ( subjob ) #NEWLINE# outputs . append ( followOn . rv ( ) ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# outputs . append ( self . nested_crossproduct_scatter ( jo , scatter_keys [ 1 : ] ) ) #NEWLINE# #UNINDENT# #UNINDENT# return outputs