def main(): import sys import cStringIO import argparse import Utils import Utils.Configurable as confM conf.initconf() Utils.fileMgmt.init() confM.crawlParams() print confM.params.descriptorNames() confM.saveconf(conf.ODBStats+"/config.conf") computeAll()
def generateConfBatch(var={},name='default',output = '',confin=''): if not output : output = conf.PathToLocal+'Batch' if confin : confM.loadconf(confin) else : confM.crawlParams() output+="/"+name+"/" if not os.path.exists(output): os.makedirs(output) print confM.params.descriptorNames() f = open(output+"generated.txt",'w') f.write(str(var)) f.close() varNames = sorted(var) combinations = [dict(zip(varNames, prod)) for prod in it.product(*(var[varName] for varName in varNames))] # presumedmod = {} # for k,v in var.iteritems(): # if isinstance(v,list): # for y in v: # if isinstance(y,str): # presumedmod[k]=v # for co in it.product(*(presumedmod[n] for n in presumedmod)): # print dict(zip(presumedmod, co)) # #combination2 = # for k in combinations: # wrong = False # for n in presumedmod.iterkeys(): # wrongkeys = n # wrongkeys.remove(k[n]) # for j in k.iterkeys(): # if any(j.startswith(x+'.')for x in wrongkeys): # wrong=True # break # if wrong : break # # if not wrong : # #combination2+=[k] # if any(v not in confM.params.descriptorNames() for v in var.iterkeys()): print 'wrong configuration' return 0 init = confM.getDict(var) for curd in combinations: curname =dictToStr(curd) confM.setDict(curd) confM.params.set("globalSettings.configName",curname) confM.saveconf(output+curname+".conf") print "write conf :" +output+curname+".conf" confM.setDict(init)