#!/usr/bin/env python import sys, os, glob from string import split, strip, find version = '1.1' # version 1.1 # Change pulsar name to match .key file # # version 1.0 # Initial release def gentz(name): f = open('tz.in', 'w') f.write(' 0 12 60 9 1408\n') f.write(' Name Nspan Ncoeffs (1st line: defaults for nsite,maxha,nspan,ncoeff,freq)\n') f.write('------------------------\n') f.write(name+'\n') f.close() def runtempo(name, mjd, expcode): p = os.popen('/home/parallax/tempo11/src/tempo -z -f %s.par' % name, 'w') p.write('%f %f\n' % (mjd-0.5, mjd+1.5)) p.close() f = '%s.polyco' % expcode os.system('mv polyco.dat %s' % f) return f def globit(expcode): file = glob.glob('/home/aspen6/astronomy/*/%s/%s.key' % (expcode, expcode) )[0] data = open(file, 'r').readlines() l = len(data) for i in range(l): p = find(data[i], 'day') if p >= 0: lst = float(split(strip(data[i]))[2]) mjd = lst/1.00273791 - 6553.91185 p = find(data[i], "calcode = 'G'") if p > 0: fullname = split(strip(data[i]), "'")[1] name = fullname[1:] if len(name) > 8: name = name[0:8] fullname = fullname[0:8]+'.PT' return mjd, name, fullname if len(sys.argv) == 2: mjd, name, fullname = globit(sys.argv[1]) gentz(name) f = runtempo(name, mjd, sys.argv[1]) d = len(fullname) - len(name) if d > 0: pname = name + ' '*d qname = fullname else: pname = name qname = fullname + ' '*(-d) command = r'vim -c "%s' + '/%s/%s/g" -c x %s' % (pname, qname, f) print 'executing : ', command os.system(command) command = 'rm -f ' + f + '~' print 'executing : ', command os.system(command) else: if len(sys.argv) == 4: gentz(sys.argv[1]) runtempo(sys.argv[1], float(sys.argv[2]), sys.argv[3]) else: print 'Autopoly version ', version print '' print 'Usage : %s ' % sys.argv[0] print '\n OR\n' print ' %s (if in Socorro)' % sys.argv[0]