added general getsig routine to get the correct signals from anywhere in the code.

This commit is contained in:
Rudi Grinberg 2012-11-19 16:07:40 -05:00
parent 4acb7d92db
commit a995129df5
2 changed files with 9 additions and 0 deletions

View File

@ -6,6 +6,9 @@ from media.monitor.pure import LazyProperty
from media.monitor.config import MMConfig
from api_clients.api_client import AirtimeApiClient
# poor man's phantom types...
class SignalString(str): pass
class AirtimeInstance(object):
""" AirtimeInstance is a class that abstracts away every airtime
instance by providing all the necessary objects required to interact
@ -29,6 +32,10 @@ class AirtimeInstance(object):
self.config_paths = config_paths
self.root_path = root_path
def signal(self, sig):
if isinstance(sig, SignalString): return sig
else: return SignalString("%s_%s" % (self.name, sig))
def __str__(self):
return "%s,%s(%s)" % (self.name, self.root_path, self.config_paths)

View File

@ -23,3 +23,5 @@ def user():
except AttributeError: raise UserlessThread()
def apc(): return user().api_client
def getsig(s): return user().signal(s)