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
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}.' )