comparison light8/Patch.py @ 4:f974a462133f

added light8 from the posted light8-1.0.tgz
author drewp
date Sun, 07 Jul 2002 01:16:10 +0000
parents 45b12307c695
children 5e4fb4ac2d18
comparison
equal deleted inserted replaced
3:8856efb6516c 4:f974a462133f
1 def resolve_name(channelname): 1 from types import TupleType
2 "Ensure that we're talking about the primary name of the light."
3 return get_channel_name(get_dmx_channel(channelname))
4
5 def get_all_channels():
6 """returns primary names for all channels (sorted)"""
7 prinames = reverse_patch.values()[:]
8 prinames.sort()
9 return prinames
10 2
11 def get_dmx_channel(name): 3 def get_dmx_channel(name):
12 if name in patch: 4 if name in patch:
13 return patch[name] 5 return patch[name]
14 6
15 try: 7 try:
16 i = int(name) 8 i = int(name)
17 return i 9 return i
18 except ValueError: 10 except ValueError:
19 raise ValueError("Invalid channel name: %s" % name) 11 raise "Invalid channel name:", name
20 12
21 def get_channel_name(dmxnum): 13 def get_channel_name(dmxnum):
22 try: 14 try:
23 return reverse_patch[dmxnum] 15 return reverse_patch[dmxnum]
24 except KeyError: 16 except KeyError:
25 return str(dmxnum) 17 return str(dmxnum)
26 18
27 def reload_data(): 19 def reload_data(dummy):
28 global patch, reverse_patch 20 global patch, reverse_patch
29 import patchdata 21 if dummy:
22 import ConfigDummy as Config
23 else:
24 import Config
30 25
31 reload(patchdata) 26 reload(Config)
32 loadedpatch = patchdata.patch 27 loadedpatch = Config.patch
33 patch = {} 28 patch = {}
34 reverse_patch = {} 29 reverse_patch = {}
35 for k, v in loadedpatch.items(): 30 for k, v in loadedpatch.items():
36 if type(k) is tuple: 31 if type(k) == TupleType:
37 for name in k: 32 for name in k:
38 patch[name] = v 33 patch[name] = v
39 reverse_patch[v] = k[0] 34 reverse_patch[v] = k[0]
40 else: 35 else:
41 patch[k] = v 36 patch[k] = v
42 reverse_patch[v] = k 37 reverse_patch[v] = k
43
44 # importing patch will load initial data
45 reload_data()
46