From a995129df59f0f1545dc08f883b52b9bfa727e73 Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Mon, 19 Nov 2012 16:07:40 -0500 Subject: [PATCH] added general getsig routine to get the correct signals from anywhere in the code. --- python_apps/media-monitor2/media/saas/airtimeinstance.py | 7 +++++++ python_apps/media-monitor2/media/saas/thread.py | 2 ++ 2 files changed, 9 insertions(+) diff --git a/python_apps/media-monitor2/media/saas/airtimeinstance.py b/python_apps/media-monitor2/media/saas/airtimeinstance.py index e0d474c33..fb701b432 100644 --- a/python_apps/media-monitor2/media/saas/airtimeinstance.py +++ b/python_apps/media-monitor2/media/saas/airtimeinstance.py @@ -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) diff --git a/python_apps/media-monitor2/media/saas/thread.py b/python_apps/media-monitor2/media/saas/thread.py index 0b4ae079e..49a3acd6f 100644 --- a/python_apps/media-monitor2/media/saas/thread.py +++ b/python_apps/media-monitor2/media/saas/thread.py @@ -23,3 +23,5 @@ def user(): except AttributeError: raise UserlessThread() def apc(): return user().api_client + +def getsig(s): return user().signal(s)