extract_msg.msg_classes.calendar_base Module

Module contents

class extract_msg.msg_classes.calendar_base.CalendarBase(path, **kwargs)[source]

Bases: MessageBase

Common base for all Appointment and Meeting objects.

Supports all of the options from MSGFile.__init__() with some additional ones.

Parameters:
  • recipientSeparator – Optional, separator string to use between recipients.

  • deencapsulationFunc – Optional, if specified must be a callable that will override the way that HTML/text is deencapsulated from the RTF body. This function must take exactly 2 arguments, the first being the RTF body from the message and the second being an instance of the enum DeencapType that will tell the function what type of body is desired. The function should return a string for plain text and bytes for HTML. If any problems occur, the function must either return None or raise one of the appropriate exceptions from extract_msg.exceptions. All other exceptions must be handled internally or they will not be caught. The original deencapsulation method will not run if this is set.

property allAttendeesString: str | None

A list of all attendees, excluding the organizer.

property appointmentAuxilaryFlags: AppointmentAuxilaryFlag | None

The auxiliary state of the object.

property appointmentColor: AppointmentColor | None

The color to be used when displaying a Calendar object.

property appointmentDuration: int | None

The length of the event, in minutes.

property appointmentEndWhole: datetime | None

The end date and time of the event in UTC.

property appointmentNotAllowPropose: bool

Indicates that attendees are not allowed to propose a new date and/or time for the meeting if True.

property appointmentRecur: RecurrencePattern | None

Specifies the dates and times when a recurring series occurs by using one of the recurrence patterns and ranges specified in this section.

property appointmentSequence: int | None

Specified the sequence number of a Meeting object.

A meeting object begins with the sequence number set to 0 and is incremented each time the organizer sends out a Meeting Update object.

property appointmentStartWhole: datetime | None

The start date and time of the event in UTC.

property appointmentStateFlags: AppointmentStateFlag | None

The appointment state of the object.

property appointmentSubType: bool

Whether the event is an all-day event or not.

property appointmentTimeZoneDefinitionEndDisplay: TimeZoneDefinition | None

Specifies the time zone information for the appointmentEndWhole property Used to convert the end date and time to and from UTC.

property appointmentTimeZoneDefinitionRecur: TimeZoneDefinition | None

Specified the time zone information that specifies how to convert the meeting date and time on a recurring series to and from UTC.

property appointmentTimeZoneDefinitionStartDisplay: TimeZoneDefinition | None

Specifies the time zone information for the appointmentStartWhole property.

Used to convert the start date and time to and from UTC.

property appointmentUnsendableRecipients: bytes | None

A list of unsendable attendees.

Currently the raw bytes for the structure, but will return a usable class in the future.

property bcc: str | None

Returns the bcc field, if it exists.

property birthdayContactAttributionDisplayName: str | None

Indicated the name of the contact associated with the birthday event.

property birthdayContactEntryID: EntryID | None

Indicates the EntryID of the contact associated with the birthday event.

property birthdayContactPersonGuid: bytes | None

Indicates the person ID’s GUID of the contact associated with the birthday event.

property busyStatus: BusyStatus | None

Specified the availability of a user for the event described by the object.

property cc: str | None

Returns the cc field, if it exists.

property ccAttendeesString: str | None

A list of all the sendable attendees, who are also optional attendees.

property cleanGlobalObjectID: GlobalObjectID | None

The value of the globalObjectID property for an object that represents an Exception object to a recurring series, where the year, month, and day fields are all 0.

property clipEnd: datetime | None

For single-instance Calendar objects, the end date and time of the event in UTC.

For a recurring series, midnight in the user’s machine time zone, on the date of the last instance, then is persisted in UTC, unless the recurring series has no end, in which case the value MUST be “31 August 4500 11:49 PM”.

Honestly, not sure what this is. [MS-OXOCAL]: PidLidClipEnd.

property clipStart: datetime | None

For single-instance Calendar objects, the start date and time of the event in UTC.

For a recurring series, midnight in the user’s machine time zone, on the date of the first instance, then is persisted in UTC.

Honestly, not sure what this is. [MS-OXOCAL]: PidLidClipStart.

property commonEnd: datetime | None

The end date and time of an event.

MUST be equal to appointmentEndWhole.

property commonStart: datetime | None

The start date and time of an event.

MUST be equal to appointmentStartWhole.

property endDate: datetime | None

The end date of the appointment.

property globalObjectID: GlobalObjectID | None

The unique identifier or the Calendar object.

property iconIndex: IconIndex | int | None

The icon to use for the object.

property isBirthdayContactWritable: bool

Indicates whether the contact associated with the birthday event is writable.

property isException: bool

Whether the object represents an exception.

False indicates that the object represents a recurring series or a single-instance object.

property isRecurring: bool

Whether the object is associated with a recurring series.

property keywords: List[str] | None

The color to be used when displaying a Calendar object.

property linkedTaskItems: List[EntryID] | None

A list of PidTagEntryId properties of Task objects related to the Calendar object that are set by a client.

property location: str | None

Returns the location of the meeting.

property meetingDoNotForward: bool

Whether to allow the meeting to be forwarded.

True disallows forwarding.

property meetingWorkspaceUrl: str | None

The URL of the Meeting Workspace, as specified in [MS-MEETS], that is associated with a Calendar object.

property nonSendableBcc: str | None

A list of all unsendable attendees who are also resource objects.

property nonSendableCc: str | None

A list of all unsendable attendees who are also optional attendees.

property nonSendableTo: str | None

A list of all unsendable attendees who are also required attendees.

property nonSendBccTrackStatus: List[ResponseStatus] | None

A ResponseStatus for each of the attendees in nonSendableBcc.

property nonSendCcTrackStatus: List[ResponseStatus] | None

A ResponseStatus for each of the attendees in nonSendableCc.

property nonSendToTrackStatus: List[ResponseStatus] | None

A ResponseStatus for each of the attendees in nonSendableTo.

property optionalAttendees: str | None

Returns the optional attendees of the meeting.

property organizer: str | None

The meeting organizer.

property ownerAppointmentID: int | None

A quasi-unique value among all Calendar objects in a user’s mailbox. Assists a client or server in finding a Calendar object but is not guaranteed to be unique among all objects.

property ownerCriticalChange: datetime | None

The date and time at which a Meeting Request object was sent by the organizer, in UTC.

property recipientTypeClass: Type[IntEnum]

The class to use for a recipient’s recipientType property.

The default is extract_msg.enums.RecipientType. If a subclass’s attributes have different meanings to the values, you can override this property to return a valid enum.

property recurrencePattern: str | None

A description of the recurrence specified by the appointmentRecur property.

property recurring: bool

Specifies whether the object represents a recurring series.

property replyRequested: bool

Whether the organizer requests a reply from attendees.

property requiredAttendees: str | None

Returns the required attendees of the meeting.

property resourceAttendees: str | None

Returns the resource attendees of the meeting.

property responseStatus: ResponseStatus

The response status of an attendee.

property startDate: datetime | None

The start date of the appointment.

property timeZoneDescription: str | None

A human-readable description of the time zone that is represented by the data in the timeZoneStruct property.

property timeZoneStruct: TimeZoneStruct | None

Set on a recurring series to specify time zone information.

Specifies how to convert time fields between local time and UTC.

property to: str | None

Returns the to field, if it exists.

property toAttendeesString: str | None

A list of all the sendable attendees, who are also required attendees.

filename: str | None