Allow local config only hooks

If a repo does not have a manifest, go with local repo config only.
This commit is contained in:
Ville Skyttä 2020-05-01 10:18:08 +03:00
parent 0670e0b287
commit ebe3e59e35
2 changed files with 41 additions and 9 deletions

View file

@ -5,8 +5,10 @@ import shlex
import sys
from typing import Any
from typing import Dict
from typing import Mapping
from typing import Optional
from typing import Sequence
from typing import TypeVar
import cfgv
from identify.identify import ALL_TAGS
@ -89,6 +91,18 @@ load_manifest = functools.partial(
)
HOOK_CONFIG_T = TypeVar('HOOK_CONFIG_T', bound=Mapping[str, Any])
def validate_manifest(data: HOOK_CONFIG_T) -> HOOK_CONFIG_T:
return cfgv.validate(data, MANIFEST_SCHEMA)
def apply_manifest_defaults(data: Sequence[HOOK_CONFIG_T]) \
-> Sequence[HOOK_CONFIG_T]:
return cfgv.apply_defaults(data, MANIFEST_SCHEMA)
def validate_manifest_main(argv: Optional[Sequence[str]] = None) -> int:
parser = _make_argparser('Manifest filenames.')
args = parser.parse_args(argv)