Add models module

This commit is contained in:
2026-01-29 21:26:01 +00:00
parent 2767ac455f
commit 5e4cac42a4

View File

@@ -1,38 +1,20 @@
"""Severity levels for validation findings."""
"""Severity levels."""
from enum import Enum
class Severity(Enum):
"""Severity levels for validation findings."""
LOW = "low"
MEDIUM = "medium"
HIGH = "high"
CRITICAL = "critical"
@classmethod
def from_string(cls, value: str) -> "Severity":
"""Create severity from string value."""
def from_string(cls, value: str):
value_lower = value.lower()
for severity in cls:
if severity.value == value_lower:
return severity
raise ValueError(f"Unknown severity level: {value}")
def __lt__(self, other: "Severity") -> bool:
"""Compare severity levels."""
def __lt__(self, other):
order = [Severity.LOW, Severity.MEDIUM, Severity.HIGH, Severity.CRITICAL]
return order.index(self) < order.index(other)
def __le__(self, other: "Severity") -> bool:
"""Compare severity levels (less than or equal)."""
return self == other or self < other
def __gt__(self, other: "Severity") -> bool:
"""Compare severity levels (greater than)."""
return not self <= other
def __ge__(self, other: "Severity") -> bool:
"""Compare severity levels (greater than or equal)."""
return not self < other