mirror of
https://github.com/koloideal/Argenta.git
synced 2026-06-10 10:05:28 +03:00
23 lines
784 B
Python
23 lines
784 B
Python
__all__ = ["ResponseStatus"]
|
|
|
|
from enum import Enum
|
|
from typing import Self
|
|
|
|
|
|
class ResponseStatus(Enum):
|
|
ALL_FLAGS_VALID = "ALL_FLAGS_VALID"
|
|
UNDEFINED_FLAGS = "UNDEFINED_FLAGS"
|
|
INVALID_VALUE_FLAGS = "INVALID_VALUE_FLAGS"
|
|
UNDEFINED_AND_INVALID_FLAGS = "UNDEFINED_AND_INVALID_FLAGS"
|
|
|
|
@classmethod
|
|
def from_flags(cls, *, has_invalid_value_flags: bool, has_undefined_flags: bool) -> Self:
|
|
key = (has_invalid_value_flags, has_undefined_flags)
|
|
status_map: dict[tuple[bool, bool], ResponseStatus] = {
|
|
(True, True): cls.UNDEFINED_AND_INVALID_FLAGS,
|
|
(True, False): cls.INVALID_VALUE_FLAGS,
|
|
(False, True): cls.UNDEFINED_FLAGS,
|
|
(False, False): cls.ALL_FLAGS_VALID,
|
|
}
|
|
return status_map[key]
|