chris

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 that contain commas as part of regex syntax (e.g., "(foo{1,3})")
120 """
116121 patterns: list[Pattern[str]] = []
117 for pattern in _csv_transformer(value):
118 patterns.append(_regex_transformer(pattern))
122
123 # First, try comma-separated parsing to handle multiple patterns
124 # Only proceed if the value contains commas
125 if ',' in value:
126 # Try to parse as multiple comma-separated patterns
127 try:
128 csv_patterns = _csv_transformer(value)
129 # Try to compile each pattern
130 temp_patterns = []
131 for pattern in csv_patterns:
132 temp_patterns.append(_regex_transformer(pattern))
133 # If all patterns compile successfully, use this approach
134 return temp_patterns
135 except argparse.ArgumentTypeError:
136 # If comma-separated parsing fails, fall back to single pattern parsing
137 pass
138
139 # Parse the entire string as a single regex pattern
140 patterns.append(_regex_transformer(value))
119141 return patterns
120142
121143
Test NameStatus
tests/config/test_config.py::test_csv_regex_error
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_csv_regex_comma_in_quantifier[foo,bar-expected1]
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.