diff --git a/src/ytdl_sub/plugins/regex.py b/src/ytdl_sub/plugins/regex.py index d8f65c8a..325649ea 100644 --- a/src/ytdl_sub/plugins/regex.py +++ b/src/ytdl_sub/plugins/regex.py @@ -231,7 +231,7 @@ class RegexOptions(OptionsDictValidator): return False for capture_group_default in regex_options.capture_group_defaults or []: parsed_default = parse(capture_group_default.format_string) - if parsed_default.variables.issubset(unresolved_variables): + if parsed_default.variables and parsed_default.variables.issubset(unresolved_variables): return False return True diff --git a/tests/e2e/plugins/test_regex.py b/tests/e2e/plugins/test_regex.py index c0d824e5..58abb325 100644 --- a/tests/e2e/plugins/test_regex.py +++ b/tests/e2e/plugins/test_regex.py @@ -313,7 +313,8 @@ class TestRegex: with pytest.raises( ValidationException, match=re.escape( - "cannot use 'uid' as a capture group name because it is a defined variable" + "Cannot use the variable name uid because it exists as a built-in " + "ytdl-sub variable name." ), ): _ = Subscription.from_dict( @@ -333,8 +334,8 @@ class TestRegex: with pytest.raises( ValidationException, match=re.escape( - "cannot use 'contains_regex_default' as a capture group name because it is a " - "defined variable" + "Override variable with name contains_regex_default cannot be used since it is " + "added by a plugin." ), ): _ = Subscription.from_dict(