示例#1
0
    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 = {}
示例#2
0
 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
         },
     ])
示例#3
0
 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)
示例#4
0
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,
示例#5
0
 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)