kopia lustrzana https://github.com/bellingcat/auto-archiver
Fix up config validation, and allow for custom 'validators'
rodzic
3fc6ddfe85
commit
0b03f54f4e
|
@ -20,6 +20,7 @@ from .metadata import Metadata
|
|||
from ..version import __version__
|
||||
from .config import read_yaml, store_yaml, to_dot_notation, merge_dicts, EMPTY_CONFIG
|
||||
from .loader import available_modules, Module, MODULE_TYPES, load_module
|
||||
from . import validators
|
||||
|
||||
import tempfile, traceback
|
||||
from loguru import logger
|
||||
|
@ -163,7 +164,10 @@ class ArchivingOrchestrator:
|
|||
# in most cases it'll mean replacing it with 'type': 'str' or 'type': 'int' or something
|
||||
kwargs.pop('cli_set', None)
|
||||
kwargs['dest'] = f"{module.name}.{kwargs.pop('dest', name)}"
|
||||
kwargs['type'] = type(kwargs.get('type', 'str'))
|
||||
try:
|
||||
kwargs['type'] = getattr(__builtins__, kwargs.get('type', 'str'))
|
||||
except AttributeError:
|
||||
kwargs['type'] = getattr(validators, kwargs['type'])
|
||||
group.add_argument(f"--{module.name}.{name}", **kwargs)
|
||||
|
||||
def show_help(self):
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
# used as validators for config values.
|
||||
|
||||
def example_validator(value):
|
||||
return "example" in value
|
||||
|
Ładowanie…
Reference in New Issue