From b28ef2365bd509ded10ada276434da1977b70caf Mon Sep 17 00:00:00 2001 From: Jesse Bannon Date: Thu, 4 Aug 2022 14:42:20 -0700 Subject: [PATCH] [BACKEND] Allow more nesting for source + override variables (#150) --- src/ytdl_sub/validators/string_formatter_validators.py | 4 ++-- tests/unit/validators/test_string_formatter_validator.py | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) 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)