from Config import subs import Patch Patch.reload_data(0) def print_tsv(filename,allchans,subs): f=open(filename,"w") print >>f,"\t"+"\t".join(allchans) for name,levels in subs.items(): normd={} # nrmalize the names in the sub for k,v in levels.items(): normd[Patch.resolve_name(k)]=v print >>f,"%s\t%s" % (name, "\t".join([str(normd.get(c,"")) for c in allchans])) def read_tsv(filename,outname): """converts from tsv filename to a config file (python) named outname""" f=open(filename,'r') out=open(outname,'w') allchans=f.readline().split("\t")[1:] for line in f.xreadlines(): spl=line.split("\t") subname=spl[0] print >>out,"subs['%s']={" % subname, for channame,level in zip(allchans,spl[1:]): try: if level!="" and int(level)>0: print >>out,"'%s': %s," %(channame,level), except ValueError: pass print >>out,"}\n" #print_tsv(filename="sublevs.txt",allchans=Patch.get_all_channels(),subs=subs) read_tsv(filename="sublevs-fixed",outname="Configsubs-fixed.py")