corvix.rules¶
Rule matching for filtering and action triggering.
Classes¶
Result of evaluating all rules against one notification. |
Functions¶
|
|
|
Evaluate global and per-repository rules. |
|
Check whether a notification satisfies configured criteria. |
|
|
|
|
|
|
|
|
|
|
|
Module Contents¶
- class corvix.rules.RuleEvaluation[source][source]¶
Result of evaluating all rules against one notification.
- actions: list[corvix.config.RuleAction] = [][source][source]¶
- corvix.rules.evaluate_rules(notification: corvix.domain.Notification, score: float, rules: corvix.config.RuleSet, now: datetime.datetime | None = None, context: collections.abc.Mapping[str, object] | None = None) RuleEvaluation[source][source]¶
Evaluate global and per-repository rules.
- corvix.rules.matches_criteria(criteria: corvix.config.MatchCriteria, notification: corvix.domain.Notification, score: float, now: datetime.datetime, context: collections.abc.Mapping[str, object] | None = None) bool[source][source]¶
Check whether a notification satisfies configured criteria.
- corvix.rules._matches_context_predicates(criteria: corvix.config.MatchCriteria, context: collections.abc.Mapping[str, object]) bool[source][source]¶
- corvix.rules._resolve_context_path(context: collections.abc.Mapping[str, object], path: str) tuple[bool, object | None][source][source]¶
- corvix.rules._evaluate_context_predicate(*, op: str, path_exists: bool, path_value: object | None, expected: object | None, case_insensitive: bool) bool[source][source]¶
- corvix.rules._equals(left: object | None, right: object | None, case_insensitive: bool) bool[source][source]¶