From 71d215367b83a6547a088644ed3e1b767b8d9aad Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 1 Oct 2024 00:18:21 -0700 Subject: [PATCH] add types to abx use api --- archivebox/abx/archivebox/use.py | 34 +++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/archivebox/abx/archivebox/use.py b/archivebox/abx/archivebox/use.py index 3b26c586..d5de47e7 100644 --- a/archivebox/abx/archivebox/use.py +++ b/archivebox/abx/archivebox/use.py @@ -1,9 +1,19 @@ __package__ = 'abx.archivebox' +from typing import Dict, Any + from benedict import benedict from .. import pm - +from .base_hook import BaseHook +from .base_configset import BaseConfigSet +from .base_binary import BaseBinary, BaseBinProvider +from .base_extractor import BaseExtractor +from .base_replayer import BaseReplayer +from .base_check import BaseCheck +from .base_queue import BaseQueue +from .base_admindataview import BaseAdminDataView +from .base_searchbackend import BaseSearchBackend # API exposed to ArchiveBox code @@ -13,77 +23,77 @@ def get_PLUGINS(): for plugin in pm.get_plugins() }) -def get_HOOKS(PLUGINS): +def get_HOOKS(PLUGINS) -> Dict[str, BaseHook]: return benedict({ hook.id: hook for plugin in PLUGINS.values() for hook in plugin.hooks }) -def get_CONFIGS(): +def get_CONFIGS() -> Dict[str, BaseConfigSet]: return benedict({ config_id: config for plugin_configs in pm.hook.get_CONFIGS() for config_id, config in plugin_configs.items() }) -def get_FLAT_CONFIG(): +def get_FLAT_CONFIG() -> Dict[str, Any]: return benedict({ key: value for plugin_config_dict in pm.hook.get_FLAT_CONFIG() for key, value in plugin_config_dict.items() }) -def get_BINPROVIDERS(): +def get_BINPROVIDERS() -> Dict[str, BaseBinProvider]: return benedict({ binprovider.id: binprovider for plugin_binproviders in pm.hook.get_BINPROVIDERS() for binprovider in plugin_binproviders }) -def get_BINARIES(): +def get_BINARIES() -> Dict[str, BaseBinary]: return benedict({ binary.id: binary for plugin_binaries in pm.hook.get_BINARIES() for binary in plugin_binaries }) -def get_EXTRACTORS(): +def get_EXTRACTORS() -> Dict[str, BaseExtractor]: return benedict({ extractor.id: extractor for plugin_extractors in pm.hook.get_EXTRACTORS() for extractor in plugin_extractors }) -def get_REPLAYERS(): +def get_REPLAYERS() -> Dict[str, BaseReplayer]: return benedict({ replayer.id: replayer for plugin_replayers in pm.hook.get_REPLAYERS() for replayer in plugin_replayers }) -def get_CHECKS(): +def get_CHECKS() -> Dict[str, BaseCheck]: return benedict({ check.id: check for plugin_checks in pm.hook.get_CHECKS() for check in plugin_checks }) -def get_ADMINDATAVIEWS(): +def get_ADMINDATAVIEWS() -> Dict[str, BaseAdminDataView]: return benedict({ admin_dataview.id: admin_dataview for plugin_admin_dataviews in pm.hook.get_ADMINDATAVIEWS() for admin_dataview in plugin_admin_dataviews }) -def get_QUEUES(): +def get_QUEUES() -> Dict[str, BaseQueue]: return benedict({ queue.id: queue for plugin_queues in pm.hook.get_QUEUES() for queue in plugin_queues }) -def get_SEARCHBACKENDS(): +def get_SEARCHBACKENDS() -> Dict[str, BaseSearchBackend]: return benedict({ searchbackend.id: searchbackend for plugin_searchbackends in pm.hook.get_SEARCHBACKENDS()