|
19 | 19 | NONE_VALUES_ALLOWED_OPERATORS = ["is_not"] |
20 | 20 |
|
21 | 21 | # All operators supported by match_property, grouped by category. |
22 | | -PROPERTY_OPERATORS = ( |
23 | | - # Equality |
24 | | - "exact", |
25 | | - "is_not", |
26 | | - "is_set", |
27 | | - "is_not_set", |
28 | | - # String matching |
29 | | - "icontains", |
30 | | - "not_icontains", |
31 | | - "regex", |
32 | | - "not_regex", |
33 | | - # Numeric / string comparison |
34 | | - "gt", |
35 | | - "gte", |
36 | | - "lt", |
37 | | - "lte", |
38 | | - # Date comparison |
39 | | - "is_date_before", |
40 | | - "is_date_after", |
41 | | - # Semver comparison |
| 22 | +EQUALITY_OPERATORS = ("exact", "is_not", "is_set", "is_not_set") |
| 23 | +STRING_OPERATORS = ("icontains", "not_icontains", "regex", "not_regex") |
| 24 | +NUMERIC_OPERATORS = ("gt", "gte", "lt", "lte") |
| 25 | +DATE_OPERATORS = ("is_date_before", "is_date_after") |
| 26 | +SEMVER_COMPARISON_OPERATORS = ( |
42 | 27 | "semver_eq", |
43 | 28 | "semver_neq", |
44 | 29 | "semver_gt", |
45 | 30 | "semver_gte", |
46 | 31 | "semver_lt", |
47 | 32 | "semver_lte", |
48 | | - "semver_tilde", |
49 | | - "semver_caret", |
50 | | - "semver_wildcard", |
| 33 | +) |
| 34 | +SEMVER_RANGE_OPERATORS = ("semver_tilde", "semver_caret", "semver_wildcard") |
| 35 | +SEMVER_OPERATORS = SEMVER_COMPARISON_OPERATORS + SEMVER_RANGE_OPERATORS |
| 36 | + |
| 37 | +PROPERTY_OPERATORS = ( |
| 38 | + EQUALITY_OPERATORS |
| 39 | + + STRING_OPERATORS |
| 40 | + + NUMERIC_OPERATORS |
| 41 | + + DATE_OPERATORS |
| 42 | + + SEMVER_OPERATORS |
51 | 43 | ) |
52 | 44 |
|
53 | 45 |
|
@@ -540,32 +532,15 @@ def compare(lhs, rhs, operator): |
540 | 532 | "The date provided must be a string or date object" |
541 | 533 | ) |
542 | 534 |
|
543 | | - if operator in ( |
544 | | - "semver_eq", |
545 | | - "semver_neq", |
546 | | - "semver_gt", |
547 | | - "semver_gte", |
548 | | - "semver_lt", |
549 | | - "semver_lte", |
550 | | - "semver_tilde", |
551 | | - "semver_caret", |
552 | | - "semver_wildcard", |
553 | | - ): |
| 535 | + if operator in SEMVER_OPERATORS: |
554 | 536 | try: |
555 | 537 | override_parsed = parse_semver(override_value) |
556 | 538 | except (ValueError, TypeError): |
557 | 539 | raise InconclusiveMatchError( |
558 | 540 | f"Person property value '{override_value}' is not a valid semver" |
559 | 541 | ) |
560 | 542 |
|
561 | | - if operator in ( |
562 | | - "semver_eq", |
563 | | - "semver_neq", |
564 | | - "semver_gt", |
565 | | - "semver_gte", |
566 | | - "semver_lt", |
567 | | - "semver_lte", |
568 | | - ): |
| 543 | + if operator in SEMVER_COMPARISON_OPERATORS: |
569 | 544 | try: |
570 | 545 | flag_parsed = parse_semver(value) |
571 | 546 | except (ValueError, TypeError): |
|
0 commit comments