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 Set
from typing import Union
import yaml
@ -63,8 +64,8 @@ class FileMetadata:
if sort_dict:
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)
return cls(metadata=out.rstrip().split('\n'))
out = yaml.safe_dump(value_dict, allow_unicode=True, indent=2, default_style="", width=100)
return cls(metadata=out.rstrip().split("\n"))
class FileHandlerTransactionLog:

View file

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

View file

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

View file

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