extract_msg.msg_classes.meeting_request Module

Module contents

class extract_msg.msg_classes.meeting_request.MeetingRequest(path, **kwargs)[source]

Bases: MeetingRelated

Class for handling Meeting Request and Meeting Update 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.

getJson() str[source]

Returns the JSON representation of the Message.

property appointmentMessageClass: str | None

Indicates the value of the PidTagMessageClass property of the Meeting object that is to be generated from the Meeting Request object. MUST start with “IPM.Appointment”.

property calendarType: RecurCalendarType | None

The value of the CalendarType field from the PidLidAppointmentRecur property if the Meeting Request object represents a recurring series or an exception.

property changeHighlight: MeetingObjectChange | None

Soecifies a bit field that indicates how the Meeting object has been changed.

Returns a union of the set flags.

property forwardInstance: bool

Indicates that the Meeting Request object represents an exception to a recurring series, and it was forwarded (even when forwarded by the organizer) rather than being an invitation sent by the organizer.

property headerFormatProperties: Dict[str, str | Tuple[str | None, bool] | None | Dict[str, str | Tuple[str | None, bool] | None]] | None

Returns a dictionary of properties, in order, to be formatted into the header.

Keys are the names to use in the header while the values are one of the following:

  • None: Signifies no data was found for the property and it should be omitted from the header.

  • str: A string to be formatted into the header using the string encoding.

  • Tuple[Union[str, None], bool]: A string should be formatted into the header. If the bool is True, then place an empty string if the first value is None, otherwise follow the same behavior as regular None.

Additional note: If the value is an empty string, it will be dropped as well by default.

Additionally you can group members of a header together by placing them in an embedded dictionary. Groups will be spaced out using a second instance of the join string. If any member of a group is being printed, it will be spaced apart from the next group/item.

If you class should not do any header injection, return None from this property.

property intendedBusyStatus: BusyStatus | None

The value of the busyStatus on the Meeting object in the organizer’s calendar at the time the Meeting Request object or Meeting Update object was sent.

property meetingType: MeetingType | None

The type of Meeting Request object or Meeting Update object.

property oldLocation: str | None

The original value of the location property before a meeting update.

property oldWhenEndWhole: datetime | None

The original value of the appointmentEndWhole property before a meeting update.

property oldWhenStartWhole: datetime | None

The original value of the appointmentStartWhole property before a meeting update.

filename: str | None