Source code for icalendar.enums
"""Enumerations for different types in the RFCs."""
from enum import Enum as _Enum
class Enum(_Enum):
"""Enum class that can be pickled."""
def __reduce_ex__(self, _p):
"""For pickling."""
return self.__class__, (self._name_,)
class StrEnum(str, Enum):
"""Enum for strings."""
[docs]
class PARTSTAT(StrEnum):
"""Enum for PARTSTAT from :rfc:`5545`.
Attributes:
``NEEDS_ACTION``,
``ACCEPTED``,
``DECLINED``,
``TENTATIVE``,
``DELEGATED``,
``COMPLETED``,
``IN_PROCESS``
"""
NEEDS_ACTION = "NEEDS-ACTION"
ACCEPTED = "ACCEPTED"
DECLINED = "DECLINED"
TENTATIVE = "TENTATIVE"
DELEGATED = "DELEGATED"
COMPLETED = "COMPLETED"
IN_PROCESS = "IN-PROCESS"
[docs]
class FBTYPE(StrEnum):
"""Enum for FBTYPE from :rfc:`5545`.
Attributes:
``FREE``,
``BUSY``,
``BUSY-UNAVAILABLE``,
``BUSY-TENTATIVE``
"""
FREE = "FREE"
BUSY = "BUSY"
BUSY_UNAVAILABLE = "BUSY-UNAVAILABLE"
BUSY_TENTATIVE = "BUSY-TENTATIVE"
[docs]
class CUTYPE(StrEnum):
"""Enum for CTYPE from :rfc:`5545`.
Attributes:
``INDIVIDUAL``,
``GROUP``,
``RESOURCE``,
``ROOM``,
``UNKNOWN``
"""
INDIVIDUAL = "INDIVIDUAL"
GROUP = "GROUP"
RESOURCE = "RESOURCE"
ROOM = "ROOM"
UNKNOWN = "UNKNOWN"
[docs]
class RELTYPE(StrEnum):
"""Enum for RELTYPE from :rfc:`5545`.
Attributes:
``PARENT``,
``CHILD``,
``SIBLING``
"""
PARENT = "PARENT"
CHILD = "CHILD"
SIBLING = "SIBLING"
[docs]
class RANGE(StrEnum):
"""Enum for RANGE from :rfc:`5545`.
Attributes:
``THISANDFUTURE``,
``THISANDPRIOR``
"""
THISANDFUTURE = "THISANDFUTURE"
THISANDPRIOR = "THISANDPRIOR" # deprecated
[docs]
class ROLE(StrEnum):
"""Enum for ROLE from :rfc:`5545`.
Attributes:
``CHAIR``,
``REQ-PARTICIPANT``,
``OPT-PARTICIPANT``,
``NON-PARTICIPANT``
"""
CHAIR = "CHAIR"
REQ_PARTICIPANT = "REQ-PARTICIPANT"
OPT_PARTICIPANT = "OPT-PARTICIPANT"
NON_PARTICIPANT = "NON-PARTICIPANT"
__all__ = [
"CUTYPE",
"FBTYPE",
"PARTSTAT",
"RANGE",
"RELATED",
"RELTYPE",
"ROLE",
]