ytdl-sub/ytdl_subscribe/validators/config/metadata_options_validator.py
2022-04-04 05:56:07 +00:00

34 lines
1.3 KiB
Python

from typing import Optional
from ytdl_subscribe.validators.base.strict_dict_validator import StrictDictValidator
from ytdl_subscribe.validators.base.string_formatter_validator import (
StringFormatterValidator,
)
from ytdl_subscribe.validators.base.string_select_validator import StringSelectValidator
class MetadataOptionsValidator(StrictDictValidator):
optional_keys = {"id3", "nfo"}
def __init__(self, name, value):
super().__init__(name, value)
self.output_directory: StringFormatterValidator = self.validate_key(
key="output_directory", validator=StringFormatterValidator
)
self.file_name: StringFormatterValidator = self.validate_key(
key="file_name", validator=StringFormatterValidator
)
self.convert_thumbnail: Optional[str] = None
if "convert_thumbnail" in self.dict:
self.convert_thumbnail = self.validate_key(
key="convert_thumbnail", validator=ConvertThumbnailValidator
).value
self.thumbnail_name: Optional[StringFormatterValidator] = None
if "thumbnail_name" in self.dict:
self.thumbnail_name = self.validate_key(
key="thumbnail_name", validator=StringFormatterValidator
)