ytdl-sub/ytdl_subscribe/validators/config/overrides/overrides_validator.py
2022-04-06 07:30:35 +00:00

23 lines
901 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],
)