Files @ c47779b165b0
Branch filter:

Location: light9/light8/Patch.py

dmcc
c-scoop is also called c-scp
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()