diff --git a/bin/gyrocontroller b/bin/gyrocontroller --- a/bin/gyrocontroller +++ b/bin/gyrocontroller @@ -2,7 +2,8 @@ # vi: syntax=python import run_local -from light9.Submaster import Submasters, Submaster, combine_subdict +from light9.Submaster import Submasters, Submaster, combine_subdict, \ + get_sub_by_name from light9.subclient import SubClient import light9.Patch as Patch @@ -49,25 +50,7 @@ class AbstractSimpleController(SubClient self.subnames = subnames self.refresh() def get_sub(self, name): - if name in self.submasters.get_all_sub_names(): - return self.submasters.get_sub_by_name(name) - - try: - val = int(name) - s = Submaster("#%d" % val, {val : 1.0}, temporary=True) - return s - except ValueError: - pass - - try: - subnum = Patch.get_dmx_channel(name) - s = Submaster("'%s'" % name, {subnum : 1.0}, temporary=True) - return s - except ValueError: - pass - - # make an error sub - return Submaster('%s!?' % name) + return get_sub_by_name(name, self.submasters) def refresh(self): # reload subs from disk self.submasters = Submasters()