__all__ = [ 'MeetingResponse', ] import datetime import functools from typing import Optional from ..constants import ps from ..enums import ResponseType from .meeting_related import MeetingRelated class MeetingResponse(MeetingRelated): """ Class for handling meeting response objects. """ @functools.cached_property def appointmentCounterProposal(self) -> bool: """ Indicates if the response is a counter proposal. """ return bool(self.getNamedProp('8257', ps.PSETID_APPOINTMENT)) @functools.cached_property def appointmentProposedDuration(self) -> Optional[int]: """ The proposed value for the appointmentDuration property for a counter proposal. """ return self.getNamedProp('8256', ps.PSETID_APPOINTMENT) @functools.cached_property def appointmentProposedEndWhole(self) -> Optional[datetime.datetime]: """ The proposal value for the appointmentEndWhole property for a counter proposal. """ return self.getNamedProp('8251', ps.PSETID_APPOINTMENT) @functools.cached_property def appointmentProposedStartWhole(self) -> Optional[datetime.datetime]: """ The proposal value for the appointmentStartWhole property for a counter proposal. """ return self.getNamedProp('8250', ps.PSETID_APPOINTMENT) @functools.cached_property def isSilent(self) -> bool: """ Indicates if the user did not include any text in the body of the Meeting Response object. """ return bool(self.getNamedProp('0004', ps.PSETID_MEETING)) @functools.cached_property def promptSendUpdate(self) -> bool: """ Indicates that the Meeting Response object was out-of-date when it was received. """ return bool(self.getNamedProp('8045', ps.PSETID_COMMON)) @functools.cached_property def responseType(self) -> ResponseType: """ The type of Meeting Response object. """ # The ending of the class type determines the type of response. return ResponseType(self.classType.lower().split('.')[-1])
Memory