コード例 #1
0
ファイル: moldb_createFolders.py プロジェクト: voovrat/MolDB
if --printOnly option is given, no folders will be created, only their names will be printed on the screen

xparams can be given in format name1=value1,name2=value2,...
value can be either a single value, or LIST (MIND (default) STATEMENTS IN LISTS !!! )
"""
	
	opts,args=gnu_getopt(sys.argv[1:],'',['printOnly'])

	if len(args)<1:
		print usage;
		quit();


#	print 'Opening chain prototype file '+sys.argv[1]+' ... '
#	project_name = args[0];
	chain=Chain(args[0]);
#	methodID = args[2];
	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];
コード例 #2
0
ファイル: moldb_createFolders.py プロジェクト: voovrat/MolDB
def createFolders_callback(data):
	
	params = dict(data);

	root = params.pop('moldb_root');
	prototype = params.pop('moldb_prototype');
	printOnly = params.pop('moldb_printOnly');
	project_name = params.pop('moldb_projectName');

	visited={}
	m = buildImplementation(params,prototype,visited);

	meth = [];

	for pid in sorted(visited.keys()):
		meth.append(visited[pid]);

	folder = root + '/' + m.getRef();

	relroot = '$MOLDB_PROJECTS/'+project_name+'/Methods';	
	relfolder = relroot + '/' + m.getRef();	

	print folder;

	if printOnly: return

	# mkdir
	mkdir_p(folder);

	#chain.implementation	
	chain = Chain();
	chain.fromMethods(meth,m.getHash(),project_name,False);
		
	f=open(folder + '/chain.imp','w');
	f.write( chain.toString() );
	f.close();



	#PARAMETERS
	paramStr = 'PROJECT='+project_name+'\n';
	paramStr += 'FOLDER='+relfolder+'\n'
	paramStr += 'PROTOTYPES=$MOLDB_PROJECTS/'+project_name+'/Prototypes\n';
	paramStr += paramsString(params);
	
	f=open(folder+'/PARAMETERS','w');
	f.write(paramStr);
	f.close();

	os.system('chmod +x '+folder+ '/PARAMETERS');
	

	#DEPENDENCIES
	depStr = dependenciesString(m.dependencies,relroot);
	f=open(folder+'/DEPENDENCIES','w');
	f.write(depStr);
	f.close();
	
	os.system('chmod +x '+ folder +'/DEPENDENCIES');

	#Scripts
	strPrm = '#!/bin/bash\n'
	strPrm += '# METHOD '+m.name+'\n';
	strPrm += '# ID' + str(m.getHash())+'\n';
	strPrm += '# --- Dependencies --- \n'
	strPrm += '. ./DEPENDENCIES\n'
#	strPrm += dependenciesString(m.dependencies,root);
	
	strPrm += '# --- Method Parameters ---\n'
	strPrm += '. ./PARAMETERS\n'
#	strPrm += 'PROJECT='+root+'\n'
#	strPrm += 'FOLDER=' + folder +'\n'

	strPrm += paramsString(params);	
	strPrm += '\n # ---- Script ----\n'



	for script in m.scripts:
		f=open(folder+'/'+script.name,'w');
		f.write(strPrm+script.text);
		f.close();

		os.system('chmod +x '+folder+'/'+script.name);
コード例 #3
0
ファイル: moldb_printResults.py プロジェクト: voovrat/MolDB
    opts, args = gnu_getopt(sys.argv[1:], '')

    if len(args) < 4:
        sys.stderr.write(usage)
        quit()

#	Project=args[0];
    chain_file = args[0]
    #	methodID=args[2];

    rows = args[1].split(',')
    cols = args[2].split(',')
    fname = args[3]

    ch = Chain(chain_file)

    Project = ch.project
    methodID = ch.runMethod

    d = ch.getMethodsDict()
    method = d[methodID]

    if len(args) >= 5:
        parseXparam(args[4], method)

    rows_iterators = []
    cols_iterators = []

    for k in rows:
        rows_iterators.append(method.iterators[k])
コード例 #4
0
 --printMethod : prints the generated method  ( DUBUG ONLY )
 --noRoot : print relative paths (w.r.t. Methods folder of the current project ) 

"""

if __name__ == '__main__':
	

	opts,args=gnu_getopt(sys.argv[1:],'p:',['printMethod','noRefs','addRoot=','--project','noRoot']);
	
	if len(args)<1:
		print usage
		quit()

	ch = Chain(args[0]);
	methodID = ch.runMethod;
#	methodID = args[1];

	methodsDict = ch.getMethodsDict();
#	print ch
	method = methodsDict[methodID];

	if len(args)>1: 
		parseXparam(args[1],method,ch);



	if ('--printMethod','') in opts: 
		print method
コード例 #5
0
-p, --proc=Npar : number of parallel processes (processors)
  Npar scripts will be generated (+1 main script which runs all others)
"""

if __name__ == '__main__':
    if len(sys.argv) < 3:
        print usage
        quit()

    opts, args = gnu_getopt(sys.argv[1:], 'o:x:p:', ['xparam=', 'proc='])

    #	project_name = args[0];
    chain_fname = args[0]
    chain_name = chain_fname.split('.')[0]

    ch = Chain(chain_fname)
    methodsDict = ch.getMethodsDict()

    project_name = ch.project
    methodID = ch.runMethod
    #	methodID = args[2];
    prototype = methodsDict[methodID]

    script = args[1]
    script_words = script.split()

    output = project_name + '_' + chain_name + '_' + script_words[0] + '.sh'

    xparam_arg = False
    xparam_arg_val = None
コード例 #6
0
def createFolders_callback(data):

    params = dict(data)

    root = params.pop('moldb_root')
    prototype = params.pop('moldb_prototype')
    printOnly = params.pop('moldb_printOnly')
    project_name = params.pop('moldb_projectName')

    visited = {}
    m = buildImplementation(params, prototype, visited)

    meth = []

    for pid in sorted(visited.keys()):
        meth.append(visited[pid])

    folder = root + '/' + m.getRef()

    relroot = '$MOLDB_PROJECTS/' + project_name + '/Methods'
    relfolder = relroot + '/' + m.getRef()

    print folder

    if printOnly: return

    # mkdir
    mkdir_p(folder)

    #chain.implementation
    chain = Chain()
    chain.fromMethods(meth, m.getHash(), project_name, False)

    f = open(folder + '/chain.imp', 'w')
    f.write(chain.toString())
    f.close()

    #PARAMETERS
    paramStr = 'PROJECT=' + project_name + '\n'
    paramStr += 'FOLDER=' + relfolder + '\n'
    paramStr += 'PROTOTYPES=$MOLDB_PROJECTS/' + project_name + '/Prototypes\n'
    paramStr += paramsString(params)

    f = open(folder + '/PARAMETERS', 'w')
    f.write(paramStr)
    f.close()

    os.system('chmod +x ' + folder + '/PARAMETERS')

    #DEPENDENCIES
    depStr = dependenciesString(m.dependencies, relroot)
    f = open(folder + '/DEPENDENCIES', 'w')
    f.write(depStr)
    f.close()

    os.system('chmod +x ' + folder + '/DEPENDENCIES')

    #Scripts
    strPrm = '#!/bin/bash\n'
    strPrm += '# METHOD ' + m.name + '\n'
    strPrm += '# ID' + str(m.getHash()) + '\n'
    strPrm += '# --- Dependencies --- \n'
    strPrm += '. ./DEPENDENCIES\n'
    #	strPrm += dependenciesString(m.dependencies,root);

    strPrm += '# --- Method Parameters ---\n'
    strPrm += '. ./PARAMETERS\n'
    #	strPrm += 'PROJECT='+root+'\n'
    #	strPrm += 'FOLDER=' + folder +'\n'

    strPrm += paramsString(params)
    strPrm += '\n # ---- Script ----\n'

    for script in m.scripts:
        f = open(folder + '/' + script.name, 'w')
        f.write(strPrm + script.text)
        f.close()

        os.system('chmod +x ' + folder + '/' + script.name)
コード例 #7
0
if --printOnly option is given, no folders will be created, only their names will be printed on the screen

xparams can be given in format name1=value1,name2=value2,...
value can be either a single value, or LIST (MIND (default) STATEMENTS IN LISTS !!! )
"""

    opts, args = gnu_getopt(sys.argv[1:], '', ['printOnly'])

    if len(args) < 1:
        print usage
        quit()

#	print 'Opening chain prototype file '+sys.argv[1]+' ... '
#	project_name = args[0];
    chain = Chain(args[0])
    #	methodID = args[2];
    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: