def __init__(self, default_base_path, conf_file=None, app_config={}): """ Create a new dependency manager looking for packages under the paths listed in `base_paths`. The default base path is app.config.tool_dependency_dir. """ if not os.path.exists(default_base_path): log.warning("Path '%s' does not exist, ignoring", default_base_path) if not os.path.isdir(default_base_path): log.warning("Path '%s' is not directory, ignoring", default_base_path) self.__app_config = app_config self.default_base_path = os.path.abspath(default_base_path) self.resolver_classes = self.__resolvers_dict() plugin_source = None dependency_resolver_dicts = app_config.get("dependency_resolvers") if dependency_resolver_dicts is not None: plugin_source = plugin_config.PluginConfigSource( 'dict', dependency_resolver_dicts) else: plugin_source = self.__build_dependency_resolvers_plugin_source( conf_file) self.dependency_resolvers = self.__parse_resolver_conf_plugins( plugin_source) self._enabled_container_types = [] self._destination_for_container_type = {}
def __default_dependency_resolvers_source(self): return plugin_config.PluginConfigSource('dict', [ { "type": "tool_shed_packages" }, { "type": "galaxy_packages" }, { "type": "conda" }, { "type": "galaxy_packages", "versionless": True }, { "type": "conda", "versionless": True }, ])
def set_destination_conf_dicts(self, destination_id, conf_dicts): plugin_source = plugin_config.PluginConfigSource('dict', conf_dicts) instrumenter = JobInstrumenter(self.plugin_classes, plugin_source) self.set_destination_instrumenter(destination_id, instrumenter)
from galaxy.util import plugin_config log = logging.getLogger(__name__) DEFAULT_CONFIG = [ { 'type': 'email', 'verbose': True, 'user_submission': True, }, { 'type': 'sentry', 'user_submission': False, }, ] DEFAULT_PLUGINS_SOURCE = plugin_config.PluginConfigSource( 'dict', DEFAULT_CONFIG) class ErrorReports: """Load and store a collection of :class:`ErrorPlugin` objects.""" def __init__(self, conf_file=None, **kwargs): """Load :class:`ErrorPlugin` objects from specified configuration file.""" self.plugin_classes = self.__plugins_dict() self.default_error_plugin = ErrorPlugin.from_file( self.plugin_classes, conf_file, **kwargs) self.error_plugin = collections.defaultdict( lambda: self.default_error_plugin) def __plugins_dict(self): import galaxy.tools.error_reports.plugins return plugin_config.plugins_dict(galaxy.tools.error_reports.plugins,
def set_destination_conf_element(self, destination_id, element): plugin_source = plugin_config.PluginConfigSource('xml', element) instrumenter = JobInstrumenter(self.plugin_classes, plugin_source) self.set_destination_instrumenter(destination_id, instrumenter)