def printRow(data): rows = data['moldb_rows'] for k in rows: # sys.stdout.write("k="+k+"\n"); # sys.stdout.write("DATA!!!"+str(data[k])+"\n"); sys.stdout.write(str(data[k].value)) sys.stdout.write('\t') cols = data['moldb_cols'] cols_iterators = data['moldb_cols_iterators'] #print cols #print cols_iterators iterate_over_lists(cols, cols_iterators, printCol, data) sys.stdout.write('\n')
def printRow(data): rows=data['moldb_rows']; for k in rows: # sys.stdout.write("k="+k+"\n"); # sys.stdout.write("DATA!!!"+str(data[k])+"\n"); sys.stdout.write(str(data[k].value)); sys.stdout.write('\t'); cols=data['moldb_cols']; cols_iterators=data['moldb_cols_iterators']; #print cols #print cols_iterators iterate_over_lists(cols,cols_iterators,printCol,data); sys.stdout.write('\n');
printOnly = ('--printOnly','') in opts; # print 'done' root= os.getenv('MOLDB_PROJECTS') + '/' + project_name + '/Methods'; # methodID = sys.argv[3] if len(sys.argv)>2 else prototype.runMethod; d=chain.getMethodsDict(); prototype = d[methodID]; if len(args)>1: parseXparam(args[1],prototype,chain) prototype.iterators = prototype.getIterators() # print 'Creating folders...' xparam = {'moldb_prototype':prototype, 'moldb_root':root, 'moldb_printOnly':printOnly, 'moldb_projectName':project_name }; iterators = prototype.iterators; iterate_over_lists(iterators.keys(),iterators.values(), createFolders_callback, xparam)
if __name__ == '__main__': f=open('1.txt'); lines=f.readlines(); f.close(); chain = Chain(); chain.parseLines(lines,0); chain.linkDependencies() print chain.toString() print 'BIG_INT = '+str(BIG_INT); for m in chain.methods: print m.name+str(m.iterators) m=chain.methods[1]; print m.iterators.keys() print m.iterators.values() iterate_over_lists(m.iterators.keys(),m.iterators.values(),printImp,{'moldb_prototype':m,'moldb_root':'.'})
for k in method.iterators.keys(): if k in cols or k in rows: continue if len(method.iterators[k]) > 1: raise Exception( 'Parameter ' + k + ' is not in rows/cols, but has more than 1 value (' + str(method.iterators[k]) + ')') noprint[k] = method.iterators[k][0] root = os.getenv('MOLDB_PROJECTS') + '/' + Project + '/Methods' xparam = { 'moldb_prototype': method, 'moldb_root': root, 'moldb_rows': rows, 'moldb_cols': cols, 'moldb_cols_iterators': cols_iterators, 'moldb_fname': fname, 'moldb_noprint': noprint } #header for r in rows: sys.stdout.write(r + '\t') iterate_over_lists(cols, cols_iterators, printHeader, xparam) sys.stdout.write('\n') #data iterate_over_lists(rows, rows_iterators, printRow, xparam)
params = dict(data) prototype = parms.pop('moldb_prototype') root = params.pop('moldb_root') if __name__ == '__main__': f = open('1.txt') lines = f.readlines() f.close() chain = Chain() chain.parseLines(lines, 0) chain.linkDependencies() print chain.toString() print 'BIG_INT = ' + str(BIG_INT) for m in chain.methods: print m.name + str(m.iterators) m = chain.methods[1] print m.iterators.keys() print m.iterators.values() iterate_over_lists(m.iterators.keys(), m.iterators.values(), printImp, { 'moldb_prototype': m, 'moldb_root': '.' })
# for o in opts: # k,v=o # # if k=='--addRoot': root = v; # if k=='--project' or k=='-p': # root=os.getenv('MOLDB_PROJECTS')+'/'+v+'/Methods/' # # if root!='' and root[-1]!='/': root+='/'; if ('--noRoot','') in opts: root = ''; else: root=os.getenv('MOLDB_PROJECTS')+'/'+ch.project+'/Methods/' method.iterators = method.getIterators() # print 'Creating folders...' xparam = {'moldb_prototype':method, 'moldb_root':root} iterators = method.iterators; try: iterate_over_lists(iterators.keys(),iterators.values(), printRef, xparam ) except IOError as err: pass
if k in cols or k in rows: continue if len(method.iterators[k])>1: raise Exception('Parameter '+k+' is not in rows/cols, but has more than 1 value (' + str(method.iterators[k]) +')'); noprint[k] = method.iterators[k][0]; root = os.getenv('MOLDB_PROJECTS')+'/'+Project+'/Methods'; xparam = {'moldb_prototype':method, 'moldb_root':root, 'moldb_rows':rows, 'moldb_cols':cols, 'moldb_cols_iterators':cols_iterators, 'moldb_fname':fname, 'moldb_noprint':noprint } #header for r in rows: sys.stdout.write( r+'\t' ) iterate_over_lists(cols,cols_iterators,printHeader,xparam); sys.stdout.write('\n'); #data iterate_over_lists(rows,rows_iterators, printRow, xparam )
project_name = chain.project methodID = chain.runMethod printOnly = ('--printOnly', '') in opts # print 'done' root = os.getenv('MOLDB_PROJECTS') + '/' + project_name + '/Methods' # methodID = sys.argv[3] if len(sys.argv)>2 else prototype.runMethod; d = chain.getMethodsDict() prototype = d[methodID] if len(args) > 1: parseXparam(args[1], prototype, chain) prototype.iterators = prototype.getIterators() # print 'Creating folders...' xparam = { 'moldb_prototype': prototype, 'moldb_root': root, 'moldb_printOnly': printOnly, 'moldb_projectName': project_name } iterators = prototype.iterators iterate_over_lists(iterators.keys(), iterators.values(), createFolders_callback, xparam)