Add models module
This commit is contained in:
@@ -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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user