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 from enum import Enum
class Severity(Enum): class Severity(Enum):
"""Severity levels for validation findings."""
LOW = "low" LOW = "low"
MEDIUM = "medium" MEDIUM = "medium"
HIGH = "high" HIGH = "high"
CRITICAL = "critical" CRITICAL = "critical"
@classmethod @classmethod
def from_string(cls, value: str) -> "Severity": def from_string(cls, value: str):
"""Create severity from string value."""
value_lower = value.lower() value_lower = value.lower()
for severity in cls: for severity in cls:
if severity.value == value_lower: if severity.value == value_lower:
return severity return severity
raise ValueError(f"Unknown severity level: {value}") raise ValueError(f"Unknown severity level: {value}")
def __lt__(self, other: "Severity") -> bool: def __lt__(self, other):
"""Compare severity levels."""
order = [Severity.LOW, Severity.MEDIUM, Severity.HIGH, Severity.CRITICAL] order = [Severity.LOW, Severity.MEDIUM, Severity.HIGH, Severity.CRITICAL]
return order.index(self) < order.index(other) 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