Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
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))
Ejemplo n.º 3
0
 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)