Example #1
0
    def __init__(self):
        threading.Thread.__init__(self)
        init_keyval_storage(conf.keyval_db)
        _Database.__init__(self)
        self.dbus_service = None
        self.values={}
        self.protocols=[]
        self.setDaemon(True)

        # Initialize and activate all plugins of 'Protocols' category
        global manager
        manager = PluginManager(categories_filter={ "Protocols": protocols})
        manager.setPluginPlaces(conf.plugin_dirs)
        manager.collectPlugins()
        activated_plugins = []
        failed_plugins= []
        plugins = {plugin.name : plugin for plugin in manager.getPluginsOfCategory('Protocols')}
        for plugin_name in conf.enabled_plugins:
            if plugin_name in plugins:
                try:
                    plugin = plugins[plugin_name]
                    plugin.plugin_object.activate(conf.plugin_conf[plugin.name], globals(), self)
                    self.protocols.append(plugin)
                    activated_plugins.append(plugin.name)
                except Exception as e:
                    failed_plugins.append(plugin.name)
                    if conf.command == 'debug':
                        raise
                    else:
                        logger.info('%s plugin error: %s'%(plugin_name, str(e))   )
        if activated_plugins:
            logger.info('Activated plugins: %s'%', '.join(activated_plugins))
        if failed_plugins:
            logger.info('Failed to activate plugins: %s'%', '.join(failed_plugins))
        self.start()
Example #2
0
    def __init__(self):
    
        class getset:
            def __init__(self, item, obj):
                self.item = item
                self.obj = obj
            def getItem(self):
                return self.obj.getItem(self.item)
            def setItem(self, value):
                return self.obj.setItem(self.item, value)

        self.items={}
        self.protocols=[]
        # Initialize and activate all plugins of 'Protocols' category
        global manager
        manager = PluginManager(categories_filter={ "Protocols": protocols})
        manager.setPluginPlaces([conf.plugin_dir])
        manager.collectPlugins()
        for plugin in manager.getPluginsOfCategory('Protocols'):
            if plugin.name in conf.enabled_plugins:
                try:
                    plugin.plugin_object.activate(conf.plugin_conf[plugin.name], globals())
                    self.protocols.append(plugin)
                    logger.info("activated plugin %s"%plugin.name)
                    for item in plugin.plugin_object.getDataBase():
                        self.items[item] = getset(item, plugin.plugin_object)
                except Exception as e:
                    print e
                    logger.info('Plugin %s init failed'%plugin.name)
Example #3
0
    def __init__(self):
        class getset:
            def __init__(self, item, obj):
                self.item = item
                self.obj = obj
            def getItem(self):
                return self.obj.getItem(self.item)
            def setItem(self, value):
                return self.obj.setItem(self.item, value)
        threading.Thread.__init__(self)
        self.dbus_service = None
        self.items={}
        self.values={}
        self.protocols=[]
        self.setDaemon(True)

        # Initialize and activate all plugins of 'Protocols' category
        global manager
        manager = PluginManager(categories_filter={ "Protocols": protocols})
        manager.setPluginPlaces([conf.plugin_dir])
        manager.collectPlugins()
        activated_plugins = []
        failed_plugins= []
        plugins = {plugin.name : plugin for plugin in manager.getPluginsOfCategory('Protocols')}
        for plugin_name in conf.enabled_plugins:
            if plugin_name in plugins:
                try:
                    plugin = plugins[plugin_name]
                    plugin.plugin_object.activate(conf.plugin_conf[plugin.name], globals())
                    self.protocols.append(plugin)
                    for item in plugin.plugin_object.getDataBase():
                        self.items[item] = getset(item, plugin.plugin_object)
                    activated_plugins.append(plugin.name)
                except Exception as e:
                    #print str(e), plugin.name
                    failed_plugins.append(plugin.name)
                    logger.debug('Plugin error:%s'%(traceback.format_exc(sys.exc_info()[1])))
        if activated_plugins:
            logger.info('Activated plugins: %s'%', '.join(activated_plugins))
        if failed_plugins:
            logger.info('Failed to activate plugins: %s'%', '.join(failed_plugins))
        self.start()
Example #4
0
    def __init__(self):
        threading.Thread.__init__(self)
        init_keyval_storage(conf.keyval_db)
        _Database.__init__(self)
        self.dbus_service = None
        self.values = {}
        self.protocols = []
        self.setDaemon(True)

        # Initialize and activate all plugins of 'Protocols' category
        global manager
        manager = PluginManager(categories_filter={"Protocols": protocols})
        manager.setPluginPlaces(conf.plugin_dirs)
        manager.collectPlugins()
        activated_plugins = []
        failed_plugins = []
        plugins = {
            plugin.name: plugin
            for plugin in manager.getPluginsOfCategory('Protocols')
        }
        for plugin_name in conf.enabled_plugins:
            if plugin_name in plugins:
                try:
                    plugin = plugins[plugin_name]
                    plugin.plugin_object.activate(
                        conf.plugin_conf[plugin.name], globals(), self)
                    self.protocols.append(plugin)
                    activated_plugins.append(plugin.name)
                except Exception as e:
                    failed_plugins.append(plugin.name)
                    if conf.command == 'debug':
                        raise
                    else:
                        logger.info('%s plugin error: %s' %
                                    (plugin_name, str(e)))
        if activated_plugins:
            logger.info('Activated plugins: %s' % ', '.join(activated_plugins))
        if failed_plugins:
            logger.info('Failed to activate plugins: %s' %
                        ', '.join(failed_plugins))
        self.start()