Fix up unit tests for new structure

This commit is contained in:
Patrick Robertson
2025-01-28 14:40:12 +01:00
parent 9635449ac0
commit 7a4871db6b
12 changed files with 150 additions and 88 deletions

View File

@@ -51,7 +51,7 @@ class BaseModule(ABC):
for key, val in config.get(self.name, {}).items():
setattr(self, key, val)
def get_module(module_name: str, additional_paths: List[str] = []):
def get_module(module_name: str, additional_paths: List[str] = []) -> LazyBaseModule:
if module_name in _LAZY_LOADED_MODULES:
return _LAZY_LOADED_MODULES[module_name]
@@ -119,19 +119,19 @@ class LazyBaseModule:
return self._entry_point
@property
def dependencies(self):
def dependencies(self) -> dict:
return self.manifest['dependencies']
@property
def configs(self):
def configs(self) -> dict:
return self.manifest['configs']
@property
def requires_setup(self):
def requires_setup(self) -> bool:
return self.manifest['requires_setup']
@property
def manifest(self):
def manifest(self) -> dict:
if self._manifest:
return self._manifest
# print(f"Loading manifest for module {module_path}")
@@ -149,10 +149,11 @@ class LazyBaseModule:
self.type = manifest['type']
self._entry_point = manifest['entry_point']
self.description = manifest['description']
self.version = manifest['version']
return manifest
def load(self):
def load(self) -> BaseModule:
if self._instance:
return self._instance

View File

@@ -172,7 +172,6 @@ class GenericExtractor(Extractor):
return self.add_metadata(data, info_extractor, url, result)
def dropin_for_name(self, dropin_name: str, additional_paths = [], package=__package__) -> Type[InfoExtractor]:
dropin_name = dropin_name.lower()
if dropin_name == "generic":

View File

@@ -14,21 +14,16 @@ from auto_archiver.core import Metadata,Media
class TwitterApiExtractor(Extractor):
link_pattern = re.compile(r"(?:twitter|x).com\/(?:\#!\/)?(\w+)\/status(?:es)?\/(\d+)")
def __init__(self, config: dict) -> None:
super().__init__(config)
def setup(self, config: dict) -> None:
super().setup(config)
self.api_index = 0
self.apis = []
if len(self.bearer_tokens):
self.apis.extend([Api(bearer_token=bearer_token) for bearer_token in self.bearer_tokens])
if self.bearer_token:
self.assert_valid_string("bearer_token")
self.apis.append(Api(bearer_token=self.bearer_token))
if self.consumer_key and self.consumer_secret and self.access_token and self.access_secret:
self.assert_valid_string("consumer_key")
self.assert_valid_string("consumer_secret")
self.assert_valid_string("access_token")
self.assert_valid_string("access_secret")
self.apis.append(Api(consumer_key=self.consumer_key, consumer_secret=self.consumer_secret,
access_token=self.access_token, access_secret=self.access_secret))
assert self.api_client is not None, "Missing Twitter API configurations, please provide either AND/OR (consumer_key, consumer_secret, access_token, access_secret) to use this archiver, you can provide both for better rate-limit results."