Mercurial > code > home > repos > light9
diff light8/Patch.py @ 0:45b12307c695
Initial revision
author | drewp |
---|---|
date | Wed, 03 Jul 2002 09:37:57 +0000 |
parents | |
children | f974a462133f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/light8/Patch.py Wed Jul 03 09:37:57 2002 +0000 @@ -0,0 +1,46 @@ +def resolve_name(channelname): + "Ensure that we're talking about the primary name of the light." + return get_channel_name(get_dmx_channel(channelname)) + +def get_all_channels(): + """returns primary names for all channels (sorted)""" + prinames = reverse_patch.values()[:] + prinames.sort() + return prinames + +def get_dmx_channel(name): + if name in patch: + return patch[name] + + try: + i = int(name) + return i + except ValueError: + raise ValueError("Invalid channel name: %s" % name) + +def get_channel_name(dmxnum): + try: + return reverse_patch[dmxnum] + except KeyError: + return str(dmxnum) + +def reload_data(): + global patch, reverse_patch + import patchdata + + reload(patchdata) + loadedpatch = patchdata.patch + patch = {} + reverse_patch = {} + for k, v in loadedpatch.items(): + if type(k) is tuple: + for name in k: + patch[name] = v + reverse_patch[v] = k[0] + else: + patch[k] = v + reverse_patch[v] = k + +# importing patch will load initial data +reload_data() +