#!/usr/bin/python3 import pwd, sys, os, re, shutil, time, subprocess, datetime # direxp = "/vlbi" dirfits = "/s0/vlba_fits" xpim_tmpl = "/vlbi/bp242/bp242_x_pima.tmpl" spim_tmpl = "/vlbi/bp242/bp242_c_pima.tmpl" pcal_tmpl = "/vlbi/bp242/bp242_pcal_mask.tmpl" mask_tmpl = "/vlbi/bp242/bp242_mask.tmpl" desc_tmpl = "/vlbi/bp242/bp242_desc.tmpl" tmpls = [ xpim_tmpl, spim_tmpl, desc_tmpl, pcal_tmpl, mask_tmpl ] if ( len(sys.argv) < 3 ): print ( "Usage: bp242_pima_cre.py exp fil suf" ) exit ( 1 ) else: exp = sys.argv[1] fit = sys.argv[2] suf = sys.argv[3] date_db = fit[0:4] + fit[5:7] + fit[8:10] + "_" + suf date_DB = '$' + date_db[2:4] + \ date_db[4:6].replace("01","JAN").replace("02","FEB").replace("03","MAR").replace("04","APR").replace("05","MAY").replace("06","JUN").replace("07","JUL").replace("08","AUG").replace("09","SEP").replace("10","OCT").replace("11","NOV").replace("12","DEC") + \ date_db[6:8] + "X" + suf.upper() fil_fits = dirfits + "/" + exp + "/" + fit if ( not os.path.isfile(fil_fits) ): print ( "fits file " + fil_fits + " does not exist" ) exit ( 1 ) if ( not os.path.isdir(direxp + "/" + exp) ): os.system ( "mkdir " + direxp + "/" + exp ) if ( not os.path.isdir(direxp + "/" + exp) ): print ( "Failure to create experiment directory ", direxp + "/" + exp ) exit ( 1 ) for tmpl in tmpls: if ( tmpl == xpim_tmpl ): fil = direxp + "/" + exp + "/" + exp + "_x_pima.cnt" elif ( tmpl == spim_tmpl ): fil = direxp + "/" + exp + "/" + exp + "_c_pima.cnt" elif ( tmpl == pcal_tmpl ): fil = direxp + "/" + exp + "/" + exp + "_pcal_mask.gen" elif ( tmpl == mask_tmpl ): fil = direxp + "/" + exp + "/" + exp + "_mask.gen" elif ( tmpl == desc_tmpl ): fil = direxp + "/" + exp + "/" + exp + ".desc" if ( os.path.isfile(fil) ): print ( "file " + fil + " already exists" ) exit ( 1 ) with open(tmpl,encoding="latin") as f: buf = f.read().splitlines() f.close() f=open(fil,"w") for line in buf: time_str = str(datetime.datetime.now().strftime("%Y.%m.%d_%H:%M:%S")) line = line.replace("@T@",time_str) line = line.replace("@U@",time_str) line = line.replace("@S@",exp) line = line.replace("@F@",fit) line = line.replace("@x@",suf) line = line.replace("@D@",date_db) line = line.replace("@d@",date_DB) print ( line, file=f ) f.close() print ( "Wrote file " + fil )