Process include and exclude patterns. Parameters ---------- exclude_patterns : str | set[str] | None Exclude patterns to process. include_patterns : str | set[str] | None Include patterns to process. Returns ------- tuple[set[str], set[str] | None]
(
exclude_patterns: str | set[str] | None = None,
include_patterns: str | set[str] | None = None,
)
| 11 | |
| 12 | |
| 13 | def process_patterns( |
| 14 | exclude_patterns: str | set[str] | None = None, |
| 15 | include_patterns: str | set[str] | None = None, |
| 16 | ) -> tuple[set[str], set[str] | None]: |
| 17 | """Process include and exclude patterns. |
| 18 | |
| 19 | Parameters |
| 20 | ---------- |
| 21 | exclude_patterns : str | set[str] | None |
| 22 | Exclude patterns to process. |
| 23 | include_patterns : str | set[str] | None |
| 24 | Include patterns to process. |
| 25 | |
| 26 | Returns |
| 27 | ------- |
| 28 | tuple[set[str], set[str] | None] |
| 29 | A tuple containing the processed ignore patterns and include patterns. |
| 30 | |
| 31 | """ |
| 32 | # Combine default ignore patterns + custom patterns |
| 33 | ignore_patterns_set = DEFAULT_IGNORE_PATTERNS.copy() |
| 34 | if exclude_patterns: |
| 35 | ignore_patterns_set.update(_parse_patterns(exclude_patterns)) |
| 36 | |
| 37 | # Process include patterns and override ignore patterns accordingly |
| 38 | if include_patterns: |
| 39 | parsed_include = _parse_patterns(include_patterns) |
| 40 | # Override ignore patterns with include patterns |
| 41 | ignore_patterns_set = set(ignore_patterns_set) - set(parsed_include) |
| 42 | else: |
| 43 | parsed_include = None |
| 44 | |
| 45 | return ignore_patterns_set, parsed_include |
| 46 | |
| 47 | |
| 48 | def _parse_patterns(patterns: str | Iterable[str]) -> set[str]: |