Source code for kappa_sdk.user_tasks.redefinition

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


[docs] class Redefinition: """The redefinition options of the user task. .. note:: Should not be instantiated directly. """
[docs] def __init__(self, mode: RedefinitionModeEnum, date: Optional[datetime] = None, old_context: Optional[Dict[str, Any]] = None) -> None: self.__mode: RedefinitionModeEnum = mode self.__date: Optional[datetime] = date self.__old_context: Dict[str, Any] = old_context if old_context is not None else dict()
@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 @property def old_context(self) -> Dict[str, Any]: """ Gets the old context of the user task before redefinition. """ return self.__old_context @old_context.setter def old_context(self, value: Dict[str, Any]) -> None: """ Sets the old context of the user task before redefinition.""" self.__old_context = value