This commit is contained in:
Jesse Bannon 2022-09-07 11:00:54 -07:00
parent 19c44cce5c
commit 345570f160
4 changed files with 15 additions and 12 deletions

View file

@ -8,6 +8,7 @@ from typing import List
from typing import Optional from typing import Optional
from typing import Set from typing import Set
from typing import Union from typing import Union
import yaml import yaml
@ -63,8 +64,8 @@ class FileMetadata:
if sort_dict: if sort_dict:
value_dict = json.loads(json.dumps(value_dict, sort_keys=True)) value_dict = json.loads(json.dumps(value_dict, sort_keys=True))
out = yaml.safe_dump(value_dict, allow_unicode=True, indent=2, default_style='', width=100) out = yaml.safe_dump(value_dict, allow_unicode=True, indent=2, default_style="", width=100)
return cls(metadata=out.rstrip().split('\n')) return cls(metadata=out.rstrip().split("\n"))
class FileHandlerTransactionLog: class FileHandlerTransactionLog:

View file

@ -1,7 +1,8 @@
import xml.etree.ElementTree as et import xml.etree.ElementTree as et
from dataclasses import dataclass from dataclasses import dataclass
from typing import Any, List from typing import Any
from typing import Dict from typing import Dict
from typing import List
from typing import Union from typing import Union

View file

@ -7,8 +7,9 @@ from typing import Type
from typing import TypeVar from typing import TypeVar
from ytdl_sub.validators.strict_dict_validator import StrictDictValidator from ytdl_sub.validators.strict_dict_validator import StrictDictValidator
from ytdl_sub.validators.string_formatter_validators import DictFormatterValidator, \ from ytdl_sub.validators.string_formatter_validators import DictFormatterValidator
ListFormatterValidator, ListOverridesFormatterValidator from ytdl_sub.validators.string_formatter_validators import ListFormatterValidator
from ytdl_sub.validators.string_formatter_validators import ListOverridesFormatterValidator
from ytdl_sub.validators.string_formatter_validators import OverridesDictFormatterValidator from ytdl_sub.validators.string_formatter_validators import OverridesDictFormatterValidator
from ytdl_sub.validators.string_formatter_validators import OverridesStringFormatterValidator from ytdl_sub.validators.string_formatter_validators import OverridesStringFormatterValidator
from ytdl_sub.validators.string_formatter_validators import StringFormatterValidator from ytdl_sub.validators.string_formatter_validators import StringFormatterValidator
@ -84,20 +85,21 @@ class NfoOverrideTagsWithAttributesListValidator(
ListValidator[NfoOverrideTagsWithAttributesValidator] ListValidator[NfoOverrideTagsWithAttributesValidator]
): ):
"""TagsWithAttributes list for the output directory NFO validator""" """TagsWithAttributes list for the output directory NFO validator"""
_inner_list_type = NfoOverrideTagsWithAttributesValidator _inner_list_type = NfoOverrideTagsWithAttributesValidator
# Generic TagsWithAttribute to use for SharedNfoTagsValidator # Generic TagsWithAttribute to use for SharedNfoTagsValidator
TNfoTagsWithAttributesValidator = _NfoTagsWithAttributesValidator[TStringFormatterValidator, TDictFormatterValidator] TNfoTagsWithAttributesValidator = _NfoTagsWithAttributesValidator[
TStringFormatterValidator, TDictFormatterValidator
]
# List validators # List validators
TNfoTagsWithAttributesListValidator = ListValidator[TNfoTagsWithAttributesValidator] TNfoTagsWithAttributesListValidator = ListValidator[TNfoTagsWithAttributesValidator]
TNfoTagsListValidator = ListValidator[TStringFormatterValidator] TNfoTagsListValidator = ListValidator[TStringFormatterValidator]
class SharedNfoTagsValidator( class SharedNfoTagsValidator(DictValidator, ABC):
DictValidator, ABC
):
_tags_validator: Type[TNfoTagsListValidator] _tags_validator: Type[TNfoTagsListValidator]
_tags_with_attributes_validator: Type[TNfoTagsWithAttributesListValidator] _tags_with_attributes_validator: Type[TNfoTagsWithAttributesListValidator]
@ -121,9 +123,7 @@ class SharedNfoTagsValidator(
) )
elif isinstance(tag_value[0], dict): elif isinstance(tag_value[0], dict):
self._attribute_tags[key].extend( self._attribute_tags[key].extend(
self._validate_key( self._validate_key(key=key, validator=self._tags_with_attributes_validator).list
key=key, validator=self._tags_with_attributes_validator
).list
) )
else: else:
raise self._validation_exception( raise self._validation_exception(

View file

@ -212,6 +212,7 @@ class ListFormatterValidator(ListValidator[StringFormatterValidator]):
class ListOverridesFormatterValidator(ListValidator[StringFormatterValidator]): class ListOverridesFormatterValidator(ListValidator[StringFormatterValidator]):
_inner_list_type = OverridesStringFormatterValidator _inner_list_type = OverridesStringFormatterValidator
class DictFormatterValidator(LiteralDictValidator): class DictFormatterValidator(LiteralDictValidator):
""" """
A dict made up of A dict made up of