Beispiel #1
0
def enumerate_backend_plugins(all_plugins_paths):
    plugin_places = [Path(root) for root in all_plugins_paths]
    for path in plugin_places:
        plugfiles = path.glob('**/*.plug')
        for plugfile in plugfiles:
            plugin_info = PluginInfo.load(plugfile)
            yield plugin_info
def enumerate_backend_plugins(all_plugins_paths):
    plugin_places = [Path(root) for root in all_plugins_paths]
    for path in plugin_places:
        plugfiles = path.glob('**/*.plug')
        for plugfile in plugfiles:
            plugin_info = PluginInfo.load(plugfile)
            yield plugin_info
def enumerate_backend_plugins(
        all_plugins_paths: List[Union[str, Path]]) -> Iterator[PluginInfo]:
    plugin_places = [Path(root) for root in all_plugins_paths]
    for path in plugin_places:
        plugfiles = path.glob("**/*.plug")
        for plugfile in plugfiles:
            plugin_info = PluginInfo.load(plugfile)
            yield plugin_info
Beispiel #4
0
def test_load_from_plugfile_path():
    pi = PluginInfo.load(plugfile_path)
    assert pi.name == 'Config'
    assert pi.module == 'config'
    assert pi.doc is None
    assert pi.python_version == (3, 0, 0)
    assert pi.errbot_minversion is None
    assert pi.errbot_maxversion is None
    def __init__(self, bot_config, base_module: str, plugin_name: str, base_class: Type,
                 base_search_dir, extra_search_dirs=()):
        self._config = bot_config
        self._base_module = base_module
        self._base_class = base_class

        self.plugin_info = None
        all_plugins_paths = collect_roots((base_search_dir, extra_search_dirs))
        plugin_places = [Path(root) for root in all_plugins_paths]
        for path in plugin_places:
            plugfiles = path.glob('**/*.plug')
            for plugfile in plugfiles:
                plugin_info = PluginInfo.load(plugfile)
                if plugin_info.name == plugin_name:
                    self.plugin_info = plugin_info
                    return
        raise PluginNotFoundException(f'Could not find the plugin named {plugin_name} in {all_plugins_paths}.')
    def __init__(self,
                 bot_config,
                 base_module: str,
                 plugin_name: str,
                 base_class: Type,
                 base_search_dir,
                 extra_search_dirs=()):
        self._config = bot_config
        self._base_module = base_module
        self._base_class = base_class

        self.plugin_info = None
        all_plugins_paths = collect_roots((base_search_dir, extra_search_dirs))
        plugin_places = [Path(root) for root in all_plugins_paths]
        for path in plugin_places:
            plugfiles = path.glob('**/*.plug')
            for plugfile in plugfiles:
                plugin_info = PluginInfo.load(plugfile)
                if plugin_info.name == plugin_name:
                    self.plugin_info = plugin_info
                    return
        raise PluginNotFoundException(
            f'Could not find the plugin named {plugin_name} in {all_plugin_paths}.'
        )