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", ]