ytdl-sub/ytdl_subscribe/validators/config/overrides/overrides_validator.py
2022-04-06 06:09:16 +00:00

27 lines
919 B
Python

import sanitize_filename
from ytdl_subscribe.validators.base.string_formatter_validators import (
DictFormatterValidator,
)
from ytdl_subscribe.validators.base.string_formatter_validators import (
StringFormatterValidator,
)
class OverridesValidator(DictFormatterValidator):
"""Ensures `overrides` is a dict"""
def __init__(self, name, value):
super().__init__(name, value)
for key in self._keys:
sanitized_key_name = f"sanitized_{key}"
# First, sanitize the format string
self._value[sanitized_key_name] = sanitize_filename.sanitize(
self._value[key].format_string
)
# Then, convert it into a StringFormatterValidator
self._value[sanitized_key_name] = StringFormatterValidator(
name="__should_never_fail__",
value=self._value[sanitized_key_name],
)