view light8/configconvert.py @ 134:f2f73a2171e6

many adjustments to the loops and timing many adjustments to the loops and timing now sends the hardware updates only when clients change, but at least 1Hz new option to adjust the rate of the loop that considers sending changes (if the lights have changed)
author drewp
date Sat, 14 Jun 2003 14:59:09 +0000
parents a995fd1a8f03
children
line wrap: on
line source



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")