def startService(self): MultiService.startService(self) self._listener = reactor.listenTCP(CoreHttpConfig.HTTP_PORT, channel.HTTPFactory(self._site)) self.log_info("started core service") self.upnp_service = UPNPService() # load enabled services try: for name in conf.get("CORE_ENABLED_PLUGINS", []): self.enablePlugin(name) self.log_debug("started all enabled services") except Exception, e: raise e
def load_template_source(path, template_dirs=None): """ Loads templates for django from Python eggs via pkg_resource.resource_string. """ if resource_string is not None: try: pkg_name,template_path = path.split(':', 1) except: pkg_name = 'higgins.data' template_path = path try: charset = conf.get('FILE_CHARSET', 'ISO-8859-1') return (resource_string(pkg_name, template_path).decode(charset), '%s:%s' % (pkg_name,template_path)) except Exception, e: logger.log_warning("failed to load template %s: %s" % (path,e))
def __new__(cls, name, bases, attrs): # TODO: verify required service attributes # create UDN if needed udn_conf_key = "UPNP_" + name + "_UDN" udn = conf.get(udn_conf_key) if udn == None: udn = "".join(map(lambda x: random.choice(string.letters), xrange(20))) conf[udn_conf_key] = udn attrs["UDN"] = udn logger.log_debug("UDN for %s is %s" % (name, udn)) # load services services = {} for key, svc in attrs.items(): if isinstance(svc, UPNPDeviceService): # add the service back-reference for each StateVar and Action for statevar in svc._stateVars.values(): statevar.service = svc for action in svc._actions.values(): action.service = svc services[svc.serviceID] = svc attrs["_services"] = services return super(DeviceDeclarativeParser, cls).__new__(cls, name, bases, attrs)