diff --git a/src/ytdl_sub/validators/string_formatter_validators.py b/src/ytdl_sub/validators/string_formatter_validators.py index c22cb49a..9a590e7f 100644 --- a/src/ytdl_sub/validators/string_formatter_validators.py +++ b/src/ytdl_sub/validators/string_formatter_validators.py @@ -77,7 +77,7 @@ class StringFormatterValidator(Validator): "Format variable '{variable_name}' does not exist. Available variables: {available_fields}" ) - __max_format_recursion = 3 + _max_format_recursion = 8 def __validate_and_get_format_variables(self) -> List[str]: """ @@ -168,7 +168,7 @@ class StringFormatterValidator(Validator): # Keep formatting the format string until no format_variables are present formatter = self recursion_depth = 0 - max_depth = StringFormatterValidator.__max_format_recursion + max_depth = self._max_format_recursion while formatter.format_variables and recursion_depth < max_depth: formatter = self.__apply_formatter(formatter=formatter, variable_dict=variable_dict) diff --git a/tests/unit/validators/test_string_formatter_validator.py b/tests/unit/validators/test_string_formatter_validator.py index c325c8a1..4a30ba7b 100644 --- a/tests/unit/validators/test_string_formatter_validator.py +++ b/tests/unit/validators/test_string_formatter_validator.py @@ -160,6 +160,7 @@ class TestStringFormatterValidator(object): ) format_string = string_formatter_class(name="test", value="{level_a}") + format_string._max_format_recursion = 3 with pytest.raises(StringFormattingException, match=expected_error_msg): _ = format_string.apply_formatter(variable_dict=variable_dict)