def __init__(self, factory, base_class=BasePlugin): """ Initializes the plugin manager. When called, with will first attempt to get the `ConfigurationManager` singleton and extract the core plugin path. After loading the core plugins with `self.load_plugins` it will do the same for plugins that may or may not have dependencies. :param base_class: The base class to use while searching for plugins. """ self.plugins = {} self.plugin_classes = {} self.plugins_waiting_to_load = {} self.load_order = [] self.config = ConfigurationManager() self.base_class = base_class self.factory = factory self.plugin_dir = path.child(self.config.plugin_path) sys.path.append( self.plugin_dir.path ) self.load_plugins( ['core.admin_commands_plugin','core.colored_names','core.command_plugin','core.player_manager_plugin','core.starbound_config_manager'] ) self.load_plugins( self.config.config['initial_plugins'] ) self.logger.info( "Loaded plugins:\n\n%s\n" % "\n".join( ["\t%s" % (plugin.name) for plugin in self.plugins.itervalues()]) )
def __init__(self, factory, base_class=BasePlugin): """ Initializes the plugin manager. When called, with will first attempt to get the `ConfigurationManager` singleton and extract the core plugin path. After loading the core plugins with `self.load_plugins` it will do the same for plugins that may or may not have dependencies. :param base_class: The base class to use while searching for plugins. """ self.plugins = {} self.config = ConfigurationManager() self.base_class = base_class self.factory = factory self.load_order = [] #self.plugin_dir = os.path.realpath(self.config.plugin_path) self.plugin_dir = path.child(self.config.plugin_path) sys.path.append(self.plugin_dir.path) self.load_plugins(self.plugin_dir) self.logger.info("Loaded plugins:\n%s" % "\n".join( ["%s, Active: %s" % (plugin.name, plugin.active) for plugin in self.plugins.itervalues()]))
def __init__(self, factory, base_class=BasePlugin): """ Initializes the plugin manager. When called, with will first attempt to get the `ConfigurationManager` singleton and extract the core plugin path. After loading the core plugins with `self.load_plugins` it will do the same for plugins that may or may not have dependencies. :param base_class: The base class to use while searching for plugins. """ self.packets = {} self.plugins = {} self.plugin_classes = {} self.plugins_waiting_to_load = {} self.load_order = [] self.config = ConfigurationManager() self.base_class = base_class self.factory = factory self.plugin_dir = path.child(self.config.plugin_path) sys.path.append(self.plugin_dir.path)