Source code for kappa_sdk.user_tasks.redefinition

from .redefinition_mode_enum import RedefinitionModeEnum
from datetime import datetime, timezone
from typing import Optional


[docs] class Redefinition: """The redefinition options of the user task. .. note:: Should not be instantiated directly. """ def __init__(self, mode: RedefinitionModeEnum, date: Optional[datetime] = None) -> None: self.__mode: RedefinitionModeEnum = mode self.__date: Optional[datetime] = date @property def mode(self) -> RedefinitionModeEnum: """ Gets the redefinition mode (start, current, other). """ return self.__mode @property def date(self) -> Optional[datetime]: """ Gets the date from which the user task is redefined (optional, used with 'other' mode). """ if self.__mode == RedefinitionModeEnum.other or self.__mode == RedefinitionModeEnum.current: return self.__date elif self.__mode == RedefinitionModeEnum.start: return datetime.min.replace(tzinfo=timezone.utc) if self.__date is None else self.__date