Source code for extract_msg.msg_classes.meeting_exception

__all__ = [
    'MeetingException',
]


import datetime
import functools

from typing import Optional

from .. import constants
from ..enums import SaveType
from .meeting_related import MeetingRelated


[docs]class MeetingException(MeetingRelated): """ Class for handling Meeting Exceptions. """
[docs] def save(self, **_) -> constants.SAVE_TYPE: """ Meeting Exceptions are hidden attachments with no save behaviors. If you want something to happen for saving, you can call the save of a parent class or write your own code. """ return (SaveType.NONE, None)
@functools.cached_property def exceptionReplaceTime(self) -> Optional[datetime.datetime]: """ The date and time within the recurrence pattern that the exception will replace. The value is specified in UTC. """ return self.getNamedProp('8228', constants.ps.PSETID_APPOINTMENT) @functools.cached_property def fExceptionalBody(self) -> bool: """ Indicates that the Exception Embedded Message object has a body that differs from the Recurring Calendar object. If ``True``, the Exception MUST have a body. """ return bool(self.getNamedProp('8206', constants.ps.PSETID_APPOINTMENT)) @functools.cached_property def fInvited(self) -> bool: """ Indicates if invitations have been sent for this exception. """ return bool(self.getNamedProp('8229', constants.ps.PSETID_APPOINTMENT))