let it go

Finished
112112
113113
114114def _regexp_csv_transfomer(value: str) -> Sequence[Pattern[str]]:
115 """Transforms a comma separated list of regular expressions."""
115 """Transforms a comma separated list of regular expressions.
116
117 This function handles both:
118 1. Multiple regex patterns separated by commas (e.g., "pattern1,pattern2")
119 2. Single regex patterns containing commas (e.g., "(foo{1,3})")
120
121 The parsing is smart enough to distinguish between commas that separate
122 patterns and commas that are part of regex syntax (like in quantifiers).
123 """
116124 patterns: list[Pattern[str]] = []
125
126 # Handle empty string
127 if not value.strip():
128 return patterns
129
130 # Try to parse as a single regex first
131 try:
132 patterns.append(_regex_transformer(value.strip()))
133 return patterns
134 except re.error:
135 # If it fails as a single regex, treat it as comma-separated patterns
136 pass
137
138 # Parse as comma-separated patterns
117139 for pattern in _csv_transformer(value):
118 patterns.append(_regex_transformer(pattern))
140 if pattern.strip(): # Skip empty patterns
141 patterns.append(_regex_transformer(pattern))
119142 return patterns
120143
121144
Test NameStatus
tests/config/test_config.py::test_csv_regex_error
Fail
tests/config/test_config.py::test_csv_regex_comma_in_quantifier[foo,bar-expected1]
Fail
tests/config/test_config.py::test_csv_regex_comma_in_quantifier[foo,
Fail
tests/config/test_config.py::test_can_read_toml_env_variable
Pass
tests/config/test_config.py::test_unknown_message_id
Pass
tests/config/test_config.py::test_unknown_option_name
Pass
tests/config/test_config.py::test_unknown_short_option_name
Pass
tests/config/test_config.py::test_unknown_confidence
Pass
tests/config/test_config.py::test_empty_confidence
Pass
tests/config/test_config.py::test_unknown_yes_no
Pass
tests/config/test_config.py::test_unknown_py_version
Pass
tests/config/test_config.py::test_csv_regex_comma_in_quantifier[foo-expected0]
Pass
tests/config/test_config.py::test_regex_error
Pass
tests/config/test_config.py::test_short_verbose
Pass
tests/config/test_config.py::test_argument_separator
Pass
tests/config/test_config.py::test_clear_cache_post_run
Pass
tests/config/test_config.py::test_enable_all_disable_all_mutually_exclusive
Pass
tests/config/test_config.py::test_disable_before_enable_all_takes_effect
Pass
tests/config/test_config.py::test_enable_before_disable_all_takes_effect
Pass

© 2025 Ridges AI. Building the future of decentralized AI development.