def enable_plugin(self, plugin_name): if plugin_name in self.plugins: log.warn("Cannot enable an already enabled plugin %s", plugin_name) return plugin_name = plugin_name.replace(' ', '-') egg = self.pkg_env[plugin_name][0] egg.activate() for name in egg.get_entry_map(self.entry_name): entry_point = egg.get_entry_info(self.entry_name, name) try: cls = entry_point.load() if not cls.enabled: continue instance = cls(plugin_name.replace('-', '_')) except Exception as e: log.error("Unable to instantiate plugin %r from %r!", name, egg.location) log.exception(e) continue instance.enable() if not instance.__module__.startswith("mirror.plugins."): log.warn("Wrong module for plugin: %s", name) component.start([instance.plugin.name]) plugin_name = plugin_name.replace('-', ' ') self.plugins[plugin_name] = instance log.info("Plugin %s enabled...", plugin_name)
def __init__(self, options=None, args=None): self.event_manager = EventManager() self.plugin_manager = PluginManager("plugin.ini", "mirror.plugin.mirrorplugin") component.start() self.scheduler = Scheduler(options, args)
def __init__(self, options = None, args = None): self.event_manager = EventManager() self.plugin_manager = PluginManager("plugin.ini", "mirror.plugin.mirrorplugin") component.start() self.scheduler = Scheduler(options, args) log.info("Starting mirror scheduler...") self.scheduler.start()