31 lines
566 B
Python
31 lines
566 B
Python
# Copyright (c) Twisted Matrix Laboratories.
|
|
# See LICENSE for details.
|
|
|
|
from typing import Optional
|
|
|
|
|
|
class Enum:
|
|
group: Optional[str] = None
|
|
|
|
def __init__(self, label: str) -> None:
|
|
self.label = label
|
|
|
|
def __repr__(self) -> str:
|
|
return f"<{self.group}: {self.label}>"
|
|
|
|
def __str__(self) -> str:
|
|
return self.label
|
|
|
|
|
|
class StatusEnum(Enum):
|
|
group = "Status"
|
|
|
|
|
|
OFFLINE = Enum("Offline")
|
|
ONLINE = Enum("Online")
|
|
AWAY = Enum("Away")
|
|
|
|
|
|
class OfflineError(Exception):
|
|
"""The requested action can't happen while offline."""
|