27 lines
919 B
Python
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],
|
|
)
|