Office365-REST-Python-Client 2.4.2__py3-none-any.whl → 2.4.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/METADATA +65 -31
- {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/RECORD +401 -259
- office365/base_item.py +27 -5
- office365/booking/business.py +7 -0
- office365/booking/currency.py +5 -0
- office365/booking/solutions_root.py +32 -0
- office365/communications/calls/invitation_participant_info.py +17 -1
- office365/communications/calls/options.py +9 -0
- office365/communications/onlinemeetings/provider_type.py +3 -0
- office365/communications/presences/presence.py +14 -0
- office365/communications/presences/status_message.py +12 -0
- office365/directory/administrative_unit.py +22 -0
- office365/directory/applications/collection.py +2 -1
- office365/directory/applications/roles/assignment.py +45 -5
- office365/directory/applications/roles/assignment_collection.py +8 -0
- office365/directory/applications/roles/role.py +6 -1
- office365/directory/audit/signins/activity.py +31 -0
- office365/directory/audit/signins/location.py +17 -0
- office365/directory/audit/signins/signin.py +33 -0
- office365/directory/authentication/authentication.py +9 -0
- office365/directory/authentication/methods/details.py +25 -0
- office365/directory/authentication/methods/email.py +16 -0
- office365/directory/authentication/methods/root.py +27 -0
- office365/directory/certificates/authority.py +6 -1
- office365/directory/extensions/extended_property.py +8 -1
- office365/directory/extensions/extension.py +1 -1
- office365/directory/extensions/extension_property.py +0 -3
- office365/directory/extensions/open_type.py +8 -0
- office365/directory/groups/collection.py +2 -4
- office365/directory/groups/group.py +18 -4
- office365/directory/identities/governance.py +2 -0
- office365/directory/identities/object_identity.py +3 -3
- office365/directory/insights/resource_reference.py +15 -0
- office365/directory/insights/shared.py +36 -0
- office365/directory/insights/sharing_detail.py +11 -0
- office365/directory/insights/trending.py +8 -0
- office365/directory/insights/usage_details.py +16 -0
- office365/directory/insights/used.py +30 -0
- office365/directory/invitations/invitation.py +33 -1
- office365/directory/licenses/assigned_plan.py +19 -1
- office365/directory/licenses/assignment_state.py +5 -0
- office365/directory/licenses/service_plan_info.py +4 -0
- office365/directory/licenses/subscribed_sku.py +41 -0
- office365/directory/licenses/units_detail.py +11 -0
- office365/directory/object.py +3 -1
- office365/directory/object_collection.py +3 -4
- office365/directory/password_credential.py +5 -1
- office365/directory/permissions/email_identity.py +5 -0
- office365/directory/permissions/grants/condition_set.py +26 -0
- office365/directory/permissions/grants/resource_specific.py +21 -0
- office365/directory/policies/authentication_flows.py +9 -0
- office365/directory/policies/authentication_strength.py +10 -0
- office365/directory/policies/authorization.py +8 -0
- office365/directory/policies/cross_tenant_access.py +5 -0
- office365/directory/policies/root.py +35 -2
- office365/directory/protection/information.py +5 -0
- office365/directory/protection/risk_detection.py +11 -0
- office365/directory/protection/riskyusers/activity.py +5 -0
- office365/directory/protection/riskyusers/collection.py +32 -0
- office365/directory/protection/riskyusers/history_item.py +20 -0
- office365/directory/protection/riskyusers/risky_user.py +26 -0
- office365/directory/protection/root.py +31 -0
- office365/directory/rolemanagement/application.py +35 -0
- office365/directory/{roles → rolemanagement}/management.py +8 -1
- office365/directory/{roles → rolemanagement}/role.py +14 -0
- office365/directory/{roles → rolemanagement}/template.py +8 -0
- office365/directory/rolemanagement/unified_role_assignment.py +45 -0
- office365/directory/rolemanagement/unified_role_definition.py +6 -0
- office365/directory/security/alerts/alert.py +21 -0
- office365/directory/security/alerts/history_state.py +5 -0
- office365/directory/security/attacksimulations/automation.py +21 -0
- office365/directory/security/attacksimulations/automation_run.py +5 -0
- office365/directory/security/attacksimulations/repeat_offender.py +6 -0
- office365/directory/security/attacksimulations/root.py +26 -0
- office365/directory/security/attacksimulations/simulation.py +17 -0
- office365/directory/security/cases/__init__.py +0 -0
- office365/directory/security/cases/ediscovery.py +6 -0
- office365/directory/security/cases/root.py +22 -0
- office365/directory/security/incidents/incident.py +67 -0
- office365/directory/security/security.py +10 -1
- office365/directory/serviceprincipals/service_principal.py +89 -4
- office365/directory/synchronization/__init__.py +0 -0
- office365/directory/synchronization/job.py +16 -0
- office365/directory/synchronization/progress.py +5 -0
- office365/directory/synchronization/status.py +13 -0
- office365/directory/synchronization/synchronization.py +24 -0
- office365/directory/tenant_information.py +17 -0
- office365/directory/tenant_relationship.py +21 -0
- office365/directory/users/activities/activity.py +45 -1
- office365/directory/users/collection.py +8 -0
- office365/directory/users/password_profile.py +18 -2
- office365/directory/users/user.py +254 -29
- office365/entity.py +3 -3
- office365/graph_client.py +64 -12
- office365/intune/audit/actor.py +5 -0
- office365/intune/audit/event.py +21 -24
- office365/intune/audit/event_collection.py +26 -0
- office365/intune/audit/property.py +5 -0
- office365/intune/audit/resource.py +11 -0
- office365/intune/brand.py +6 -0
- office365/intune/devices/compliance/__init__.py +0 -0
- office365/intune/devices/compliance/policy.py +6 -0
- office365/intune/devices/compliance/policy_state.py +5 -0
- office365/intune/devices/data.py +5 -0
- office365/intune/devices/detail.py +10 -0
- office365/intune/devices/enrollment/__init__.py +0 -0
- office365/intune/devices/enrollment/configuration.py +25 -0
- office365/intune/devices/enrollment/configuration_assignment.py +5 -0
- office365/intune/devices/enrollment/limit_configuration.py +5 -0
- office365/intune/devices/managed.py +44 -3
- office365/intune/devices/management/__init__.py +0 -0
- office365/intune/devices/management/management.py +69 -0
- office365/intune/devices/management/reports/__init__.py +0 -0
- office365/intune/devices/management/reports/reports.py +5 -0
- office365/intune/devices/management/settings.py +18 -0
- office365/intune/organizations/branding.py +15 -0
- office365/intune/organizations/organization.py +14 -0
- office365/intune/printing/__init__.py +0 -0
- office365/intune/printing/base.py +11 -0
- office365/intune/printing/capabilities.py +5 -0
- office365/intune/printing/connectors/__init__.py +0 -0
- office365/intune/printing/connectors/connector.py +6 -0
- office365/intune/printing/operations/__init__.py +0 -0
- office365/intune/printing/print.py +24 -0
- office365/intune/printing/printer.py +6 -0
- office365/intune/printing/services/__init__.py +0 -0
- office365/intune/printing/services/endpoint.py +5 -0
- office365/intune/printing/services/service.py +17 -0
- office365/intune/printing/share.py +5 -0
- office365/intune/printing/shares/__init__.py +0 -0
- office365/intune/printing/taskdefinitions/__init__.py +0 -0
- office365/intune/provisioned_plan.py +5 -1
- office365/intune/servicecommunications/__init__.py +0 -0
- office365/intune/servicecommunications/announcement.py +39 -0
- office365/intune/servicecommunications/announcement_base.py +5 -0
- office365/intune/servicecommunications/health/__init__.py +0 -0
- office365/intune/servicecommunications/health/health.py +7 -0
- office365/intune/servicecommunications/issues/__init__.py +0 -0
- office365/intune/servicecommunications/issues/issue.py +29 -0
- office365/intune/servicecommunications/messages/__init__.py +0 -0
- office365/intune/servicecommunications/messages/update.py +10 -0
- office365/intune/termsandconditions/__init__.py +0 -0
- office365/intune/vpp_token.py +10 -0
- office365/onedrive/admin.py +16 -0
- office365/onedrive/columns/content_approval_status.py +5 -0
- office365/onedrive/columns/datetime.py +15 -0
- office365/onedrive/columns/default_value.py +4 -0
- office365/onedrive/columns/definition.py +49 -3
- office365/onedrive/columns/definition_collection.py +17 -6
- office365/onedrive/columns/lookup.py +5 -1
- office365/onedrive/columns/types.py +13 -0
- office365/onedrive/contenttypes/content_type.py +8 -0
- office365/onedrive/driveitems/audio.py +12 -1
- office365/onedrive/driveitems/driveItem.py +147 -69
- office365/onedrive/driveitems/image.py +8 -1
- office365/onedrive/driveitems/item_preview_info.py +20 -2
- office365/onedrive/driveitems/remote_item.py +19 -4
- office365/onedrive/drives/drive.py +7 -1
- office365/onedrive/drives/quota.py +18 -0
- office365/onedrive/drives/recipient.py +4 -0
- office365/onedrive/files/system_info.py +8 -6
- office365/onedrive/folders/folder.py +3 -3
- office365/onedrive/internal/paths/children.py +1 -4
- office365/onedrive/internal/paths/shared.py +7 -2
- office365/onedrive/lists/collection.py +12 -6
- office365/onedrive/lists/list.py +13 -5
- office365/onedrive/operations/long_running.py +7 -0
- office365/onedrive/operations/pending.py +13 -0
- office365/onedrive/operations/pending_content_update.py +5 -0
- office365/onedrive/permissions/collection.py +5 -6
- office365/onedrive/permissions/sharing_link.py +16 -1
- office365/onedrive/sensitivitylabels/__init__.py +0 -0
- office365/onedrive/sensitivitylabels/assignment.py +17 -0
- office365/onedrive/sensitivitylabels/assignment_method.py +4 -0
- office365/onedrive/sensitivitylabels/extract_result.py +13 -0
- office365/onedrive/sharepoint_settings.py +25 -0
- office365/onedrive/sites/sites_with_root.py +11 -1
- office365/onedrive/termstore/groups/collection.py +1 -1
- office365/onedrive/termstore/groups/group.py +1 -0
- office365/onedrive/termstore/sets/collection.py +1 -1
- office365/onenote/operations/operation.py +10 -1
- office365/onenote/resources/resource.py +1 -0
- office365/outlook/calendar/calendar.py +116 -6
- office365/outlook/calendar/dateTimeTimeZone.py +4 -0
- office365/outlook/calendar/email_address.py +7 -0
- office365/outlook/calendar/events/event.py +0 -4
- office365/outlook/calendar/events/reminder.py +22 -3
- office365/outlook/calendar/group.py +0 -2
- office365/outlook/calendar/location_constraint.py +16 -1
- office365/outlook/calendar/meetingtimes/activity_domain.py +10 -0
- office365/outlook/calendar/meetingtimes/suggestion.py +1 -1
- office365/outlook/calendar/meetingtimes/time_constraint.py +18 -0
- office365/outlook/calendar/permissions/__init__.py +0 -0
- office365/outlook/calendar/permissions/collection.py +24 -0
- office365/outlook/calendar/{permission.py → permissions/permission.py} +35 -2
- office365/outlook/calendar/place.py +7 -0
- office365/outlook/calendar/role_type.py +17 -0
- office365/outlook/calendar/schedule/information.py +5 -4
- office365/outlook/calendar/schedule/item.py +20 -1
- office365/outlook/calendar/sharing_message.py +2 -2
- office365/outlook/calendar/time_zone_base.py +3 -0
- office365/outlook/calendar/working_hours.py +17 -1
- office365/outlook/contacts/collection.py +39 -0
- office365/outlook/contacts/contact.py +21 -11
- office365/outlook/geo_coordinates.py +20 -0
- office365/outlook/item.py +5 -4
- office365/outlook/locale_info.py +3 -0
- office365/outlook/mail/automatic_replies_setting.py +14 -0
- office365/outlook/mail/folders/folder.py +52 -3
- office365/outlook/mail/folders/search.py +11 -0
- office365/outlook/mail/importance.py +1 -0
- office365/outlook/mail/item_body.py +3 -0
- office365/outlook/mail/location.py +27 -2
- office365/outlook/mail/location_constraint_item.py +5 -0
- office365/outlook/mail/mailbox_settings.py +13 -1
- office365/outlook/mail/messages/collection.py +7 -0
- office365/outlook/mail/messages/followup_flag.py +21 -0
- office365/outlook/mail/messages/internet_header.py +16 -0
- office365/outlook/mail/messages/message.py +184 -6
- office365/outlook/mail/messages/rules/__init__.py +0 -0
- office365/outlook/mail/messages/rules/actions.py +38 -0
- office365/outlook/mail/messages/rules/predicates.py +5 -0
- office365/outlook/mail/messages/rules/rule.py +32 -0
- office365/outlook/mail/patterned_recurrence.py +14 -1
- office365/outlook/mail/physical_address.py +5 -1
- office365/outlook/mail/recipient.py +3 -0
- office365/outlook/mail/recurrence_pattern.py +18 -1
- office365/outlook/mail/recurrence_range.py +16 -2
- office365/outlook/timezone_information.py +3 -0
- office365/reports/root.py +28 -1
- office365/reports/security/__init__.py +0 -0
- office365/reports/security/root.py +21 -0
- office365/reports/userregistration/__init__.py +0 -0
- office365/reports/userregistration/method_count.py +17 -0
- office365/reports/userregistration/method_summary.py +21 -0
- office365/runtime/auth/authentication_context.py +123 -25
- office365/runtime/auth/client_credential.py +2 -2
- office365/runtime/auth/providers/acs_token_provider.py +6 -3
- office365/runtime/auth/providers/saml_token_provider.py +10 -7
- office365/runtime/auth/token_response.py +3 -3
- office365/runtime/client_object_collection.py +12 -7
- office365/runtime/client_result.py +9 -0
- office365/runtime/client_runtime_context.py +10 -8
- office365/runtime/http/request_options.py +2 -1
- office365/runtime/odata/request.py +4 -4
- office365/runtime/paths/appid.py +2 -1
- office365/runtime/paths/entity.py +2 -2
- office365/{sharepoint/internal/paths/entity.py → runtime/paths/key.py} +5 -3
- office365/runtime/paths/resource_path.py +3 -0
- office365/runtime/types/event_handler.py +6 -0
- office365/search/external/__init__.py +0 -0
- office365/search/external/configuration.py +8 -0
- office365/search/external/connection.py +27 -0
- office365/{external → search/external}/external.py +1 -1
- office365/search/external/search_settings.py +5 -0
- office365/search/query.py +3 -1
- office365/search/request.py +3 -1
- office365/search/sharepoint_onedrive_options.py +3 -0
- office365/search/sort_property.py +9 -0
- office365/sharepoint/activities/client_request.py +4 -1
- office365/sharepoint/activities/logger.py +25 -0
- office365/sharepoint/activities/revision_info.py +9 -0
- office365/sharepoint/addtoonedrive/mount_point.py +25 -0
- office365/sharepoint/addtoonedrive/mounted_folder_info.py +5 -0
- office365/sharepoint/alerts/alert.py +31 -0
- office365/sharepoint/apps/license_collection.py +1 -2
- office365/sharepoint/changes/item.py +14 -0
- office365/sharepoint/client_context.py +91 -30
- office365/sharepoint/clientsidecomponent/component_context_info.py +7 -0
- office365/sharepoint/clientsidecomponent/identifier.py +3 -0
- office365/sharepoint/compliance/tag_info.py +17 -0
- office365/sharepoint/contenttypes/collection.py +6 -7
- office365/sharepoint/contenttypes/content_type.py +49 -1
- office365/sharepoint/contenttypes/fieldlinks/collection.py +5 -6
- office365/sharepoint/features/known_list.py +2 -0
- office365/sharepoint/fields/collection.py +70 -39
- office365/sharepoint/fields/computed.py +5 -2
- office365/sharepoint/fields/creation_information.py +5 -4
- office365/sharepoint/fields/field.py +73 -15
- office365/sharepoint/fields/user.py +3 -3
- office365/sharepoint/files/checked_out_file.py +3 -2
- office365/sharepoint/files/file.py +9 -4
- office365/sharepoint/files/versions/version.py +7 -9
- office365/sharepoint/folders/collection.py +2 -2
- office365/sharepoint/folders/coloring.py +39 -0
- office365/sharepoint/folders/coloring_information.py +15 -0
- office365/sharepoint/folders/folder.py +21 -10
- office365/sharepoint/forms/customization.py +8 -0
- office365/sharepoint/listitems/listitem.py +29 -10
- office365/sharepoint/lists/bloom_filter.py +0 -1
- office365/sharepoint/lists/creation_information.py +18 -4
- office365/sharepoint/lists/list.py +203 -27
- office365/sharepoint/lists/render_data_parameters.py +21 -1
- office365/sharepoint/lists/template_type.py +10 -0
- office365/sharepoint/navigation/configured_metadata_items.py +25 -1
- office365/sharepoint/navigation/metadata_settings.py +6 -4
- office365/sharepoint/permissions/irm/file_settings.py +43 -0
- office365/sharepoint/permissions/securable_object.py +5 -6
- office365/sharepoint/portal/sites/manager.py +5 -6
- office365/sharepoint/portal/userprofiles/documents_shared_with_group.py +3 -0
- office365/sharepoint/publishing/base_custom_property.py +8 -0
- office365/sharepoint/publishing/navigation/structural_navigation_cache_wrapper.py +8 -0
- office365/sharepoint/publishing/pagecopywithassets/__init__.py +0 -0
- office365/sharepoint/publishing/pagecopywithassets/response.py +8 -0
- office365/sharepoint/publishing/pages/campaign_publication.py +7 -0
- office365/sharepoint/publishing/pages/collection.py +1 -1
- office365/sharepoint/publishing/pages/page.py +4 -1
- office365/sharepoint/publishing/pages/reposts/metadata.py +8 -0
- office365/sharepoint/publishing/personmagazine/person_magazine.py +4 -1
- office365/sharepoint/search/administration/tenant_crawl_versions_info_provider.py +8 -1
- office365/sharepoint/search/query/auto_completion_match.py +3 -0
- office365/sharepoint/search/query/property_value.py +18 -0
- office365/sharepoint/search/request.py +16 -2
- office365/sharepoint/sharing/abilities.py +22 -0
- office365/sharepoint/sharing/direct_abilities.py +27 -0
- office365/sharepoint/sharing/link_abilities.py +9 -1
- office365/sharepoint/sharing/links/data.py +26 -1
- office365/sharepoint/sharing/links/info.py +1 -1
- office365/sharepoint/sharing/links/partial_success_response.py +5 -0
- office365/sharepoint/sharing/links/share_settings.py +24 -1
- office365/sharepoint/sharing/object_sharing_information.py +65 -2
- office365/sharepoint/sharing/object_sharing_information_user.py +9 -0
- office365/sharepoint/sharing/object_sharing_settings.py +17 -4
- office365/sharepoint/sharing/principal.py +10 -0
- office365/sharepoint/sharing/securable_object_extensions.py +1 -17
- office365/sharepoint/sharing/site_sharing_report_helper.py +2 -1
- office365/sharepoint/sharing/user_sharing_result.py +18 -8
- office365/sharepoint/sitehealth/result.py +10 -0
- office365/sharepoint/sites/language.py +11 -1
- office365/sharepoint/sites/language_collection.py +1 -0
- office365/sharepoint/sites/site.py +42 -7
- office365/sharepoint/taxonomy/create_xml_parameters.py +22 -15
- office365/sharepoint/taxonomy/field.py +10 -8
- office365/sharepoint/taxonomy/groups/collection.py +8 -1
- office365/sharepoint/taxonomy/groups/group.py +26 -0
- office365/sharepoint/taxonomy/sets/collection.py +15 -0
- office365/sharepoint/taxonomy/sets/name.py +23 -0
- office365/sharepoint/taxonomy/sets/set.py +16 -1
- office365/sharepoint/taxonomy/stores/store.py +0 -8
- office365/sharepoint/tenant/administration/audit/search_request_status.py +8 -0
- office365/sharepoint/tenant/administration/deny_add_and_customize_pages_status.py +3 -0
- office365/sharepoint/tenant/administration/hubsites/permission.py +10 -0
- office365/sharepoint/tenant/administration/sites/properties.py +12 -10
- office365/sharepoint/tenant/administration/tenant.py +2 -1
- office365/sharepoint/tenant/apps/information.py +3 -1
- office365/sharepoint/tenant/management/office365_tenant.py +14 -11
- office365/sharepoint/types/resource_path.py +3 -1
- office365/sharepoint/userprofiles/people_manager.py +0 -2
- office365/sharepoint/userprofiles/sharedwithme/document.py +16 -0
- office365/sharepoint/userprofiles/sharedwithme/document_user.py +12 -0
- office365/sharepoint/userprofiles/sharedwithme/item_collection.py +41 -0
- office365/sharepoint/userprofiles/sharedwithme/items.py +18 -1
- office365/sharepoint/viva/site_manager.py +14 -0
- office365/sharepoint/webhooks/subscription_collection.py +5 -6
- office365/sharepoint/webparts/definition.py +1 -1
- office365/sharepoint/webparts/webpart.py +18 -4
- office365/sharepoint/webs/context_web_information.py +2 -4
- office365/sharepoint/webs/web.py +31 -12
- office365/sharepoint/workflowservices/manager.py +0 -2
- office365/subscriptions/collection.py +42 -0
- office365/subscriptions/subscription.py +120 -2
- office365/teams/apps/catalog.py +23 -0
- office365/teams/associated_info.py +12 -0
- office365/teams/channels/channel.py +2 -3
- office365/teams/channels/collection.py +1 -1
- office365/teams/channels/iIdentity.py +5 -0
- office365/teams/chats/chat.py +12 -2
- office365/teams/chats/collection.py +1 -2
- office365/teams/chats/messages/__init__.py +0 -0
- office365/teams/chats/messages/info.py +14 -0
- office365/teams/chats/{message.py → messages/message.py} +18 -3
- office365/teams/info.py +20 -0
- office365/teams/members/aad_user_conversation.py +2 -2
- office365/teams/members/conversation_collection.py +3 -3
- office365/teams/schedule/change_request.py +4 -2
- office365/teams/schedule/change_tracked_entity.py +11 -2
- office365/teams/summary.py +15 -0
- office365/teams/tabs/configuration.py +12 -1
- office365/teams/tabs/tab.py +0 -1
- office365/teams/team.py +34 -1
- office365/teams/teamwork/__init__.py +0 -0
- office365/teams/teamwork/activity_topic.py +5 -0
- office365/teams/teamwork/tags/__init__.py +0 -0
- office365/teams/teamwork/tags/identity.py +6 -0
- office365/teams/teamwork/tags/member.py +5 -0
- office365/teams/teamwork/tags/tag.py +15 -0
- office365/{directory/security/cases_root.py → teams/viva/employee_experience_user.py} +1 -1
- office365/todo/attachments/session.py +34 -0
- office365/todo/linked_resource.py +10 -1
- office365/todo/tasks/task.py +4 -0
- office365/directory/identities/protection_root.py +0 -5
- office365/directory/rbac/application.py +0 -18
- office365/directory/rbac/unified_role_assignment.py +0 -8
- office365/external/connection.py +0 -5
- office365/intune/devices/management.py +0 -35
- office365/onedrive/internal/queries/download_content.py +0 -26
- office365/onedrive/internal/queries/upload_content.py +0 -23
- office365/outlook/mail/messages/message_rule.py +0 -15
- office365/runtime/auth/providers/oauth_token_provider.py +0 -25
- office365/teams/team_info.py +0 -6
- {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/LICENSE +0 -0
- {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/WHEEL +0 -0
- {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/top_level.txt +0 -0
- /office365/{directory/rbac → booking}/__init__.py +0 -0
- /office365/directory/{roles → protection}/__init__.py +0 -0
- /office365/{external → directory/protection/riskyusers}/__init__.py +0 -0
- /office365/{teams/messages → directory/rolemanagement}/__init__.py +0 -0
- /office365/outlook/calendar/{time_slot.py → meetingtimes/time_slot.py} +0 -0
- /office365/teams/chats/{message_attachment.py → messages/attachment.py} +0 -0
- /office365/teams/{member_settings.py → members/settings.py} +0 -0
- /office365/teams/{user_teamwork.py → teamwork/user.py} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from office365.outlook.calendar.attendees.availability import AttendeeAvailability
|
|
2
|
-
from office365.outlook.calendar.time_slot import TimeSlot
|
|
2
|
+
from office365.outlook.calendar.meetingtimes.time_slot import TimeSlot
|
|
3
3
|
from office365.outlook.mail.location import Location
|
|
4
4
|
from office365.runtime.client_value import ClientValue
|
|
5
5
|
from office365.runtime.client_value_collection import ClientValueCollection
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from office365.outlook.calendar.meetingtimes.time_slot import TimeSlot
|
|
2
|
+
from office365.runtime.client_value import ClientValue
|
|
3
|
+
from office365.runtime.client_value_collection import ClientValueCollection
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class TimeConstraint(ClientValue):
|
|
7
|
+
"""Restricts meeting time suggestions to certain hours and days of the week according to the specified nature of
|
|
8
|
+
activity and open time slots."""
|
|
9
|
+
|
|
10
|
+
def __init__(self, activity_domain=None, time_slots=None):
|
|
11
|
+
"""
|
|
12
|
+
:param str activity_domain: The nature of the activity, optional
|
|
13
|
+
:param list[TimeSlot] time_slots: An array of time periods
|
|
14
|
+
"""
|
|
15
|
+
self.activityDomain = activity_domain
|
|
16
|
+
self.timeSlots = ClientValueCollection(TimeSlot, time_slots)
|
|
17
|
+
|
|
18
|
+
|
|
File without changes
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from office365.entity_collection import EntityCollection
|
|
2
|
+
from office365.outlook.calendar.email_address import EmailAddress
|
|
3
|
+
from office365.outlook.calendar.permissions.permission import CalendarPermission
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class CalendarPermissionCollection(EntityCollection):
|
|
7
|
+
|
|
8
|
+
def __init__(self, context, resource_path=None):
|
|
9
|
+
super(CalendarPermissionCollection, self).__init__(context, CalendarPermission, resource_path)
|
|
10
|
+
|
|
11
|
+
def add(self, email_address, role):
|
|
12
|
+
"""
|
|
13
|
+
Create a calendarPermission resource to specify the identity and role of the user with whom the specified
|
|
14
|
+
calendar is being shared or delegated.
|
|
15
|
+
:param str or EmailAddress email_address: Represents a sharee or delegate who has access to the calendar.
|
|
16
|
+
:param str role: Permission level of the calendar sharee or delegate
|
|
17
|
+
"""
|
|
18
|
+
if not isinstance(email_address, EmailAddress):
|
|
19
|
+
email_address = EmailAddress(email_address)
|
|
20
|
+
props = {
|
|
21
|
+
"emailAddress": email_address,
|
|
22
|
+
"role": str(role)
|
|
23
|
+
}
|
|
24
|
+
return super(CalendarPermissionCollection, self).add(**props)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from office365.entity import Entity
|
|
2
2
|
from office365.outlook.calendar.email_address import EmailAddress
|
|
3
|
+
from office365.runtime.types.collections import StringCollection
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
class CalendarPermission(Entity):
|
|
@@ -15,9 +16,17 @@ class CalendarPermission(Entity):
|
|
|
15
16
|
the permissions of a sharee or delegate. You cannot update the allowedRoles, emailAddress, isInsideOrganization,
|
|
16
17
|
or isRemovable property. To change these properties, you should delete the corresponding calendarPermission
|
|
17
18
|
object and create another sharee or delegate in an Outlook client.
|
|
18
|
-
|
|
19
19
|
"""
|
|
20
20
|
|
|
21
|
+
@property
|
|
22
|
+
def allowed_roles(self):
|
|
23
|
+
"""
|
|
24
|
+
List of allowed sharing or delegating permission levels for the calendar.
|
|
25
|
+
Possible values are: none, freeBusyRead, limitedRead, read, write, delegateWithoutPrivateEventAccess,
|
|
26
|
+
delegateWithPrivateEventAccess, custom.
|
|
27
|
+
"""
|
|
28
|
+
return self.properties.get("allowedRoles", StringCollection())
|
|
29
|
+
|
|
21
30
|
@property
|
|
22
31
|
def email_address(self):
|
|
23
32
|
"""
|
|
@@ -26,13 +35,37 @@ class CalendarPermission(Entity):
|
|
|
26
35
|
"""
|
|
27
36
|
return self.properties.get("emailAddress", EmailAddress())
|
|
28
37
|
|
|
38
|
+
@property
|
|
39
|
+
def is_inside_organization(self):
|
|
40
|
+
"""
|
|
41
|
+
True if the user in context (sharee or delegate) is inside the same organization as the calendar owner.
|
|
42
|
+
:rtype: bool or None
|
|
43
|
+
"""
|
|
44
|
+
return self.properties.get("isInsideOrganization", None)
|
|
45
|
+
|
|
29
46
|
@property
|
|
30
47
|
def is_removable(self):
|
|
31
48
|
"""
|
|
32
49
|
True if the user can be removed from the list of sharees or delegates for the specified calendar,
|
|
33
50
|
false otherwise. The "My organization" user determines the permissions other people within your organization
|
|
34
51
|
have to the given calendar. You cannot remove "My organization" as a sharee to a calendar.
|
|
35
|
-
|
|
36
52
|
:rtype: bool or None
|
|
37
53
|
"""
|
|
38
54
|
return self.properties.get("isRemovable", None)
|
|
55
|
+
|
|
56
|
+
@property
|
|
57
|
+
def role(self):
|
|
58
|
+
"""
|
|
59
|
+
Current permission level of the calendar sharee or delegate.
|
|
60
|
+
:rtype: str or None
|
|
61
|
+
"""
|
|
62
|
+
return self.properties.get("role", None)
|
|
63
|
+
|
|
64
|
+
def get_property(self, name, default_value=None):
|
|
65
|
+
if default_value is None:
|
|
66
|
+
property_mapping = {
|
|
67
|
+
"allowedRoles": self.allowed_roles,
|
|
68
|
+
"emailAddress": self.email_address
|
|
69
|
+
}
|
|
70
|
+
default_value = property_mapping.get(name, None)
|
|
71
|
+
return super(CalendarPermission, self).get_property(name, default_value)
|
|
@@ -6,6 +6,13 @@ class Place(Entity):
|
|
|
6
6
|
"""Represents basic location attributes such as name, physical address, and geographic coordinates.
|
|
7
7
|
This is the base type for richer location types such as room and roomList."""
|
|
8
8
|
|
|
9
|
+
@property
|
|
10
|
+
def display_name(self):
|
|
11
|
+
"""The name associated with the place.
|
|
12
|
+
:rtype: str or None
|
|
13
|
+
"""
|
|
14
|
+
return self.properties.get("displayName", None)
|
|
15
|
+
|
|
9
16
|
@property
|
|
10
17
|
def address(self):
|
|
11
18
|
"""The street address of the place."""
|
|
@@ -11,3 +11,20 @@ class CalendarRoleType:
|
|
|
11
11
|
|
|
12
12
|
limitedRead = 2
|
|
13
13
|
"""User is a sharee who can view free/busy status, and titles and locations of the events on the calendar."""
|
|
14
|
+
|
|
15
|
+
read = 3
|
|
16
|
+
"""User is a sharee who can view all the details of the events on the calendar, except for the owner's private
|
|
17
|
+
events."""
|
|
18
|
+
|
|
19
|
+
write = 4
|
|
20
|
+
"""User is a sharee who can view all the details (except for private events) and edit events on the calendar."""
|
|
21
|
+
|
|
22
|
+
delegateWithoutPrivateEventAccess = 5
|
|
23
|
+
"""User is a delegate who has write access but cannot view information of the owner's private events on the
|
|
24
|
+
calendar."""
|
|
25
|
+
|
|
26
|
+
delegateWithPrivateEventAccess = 6
|
|
27
|
+
"""User is a delegate who has write access and can view information of the owner's private events on the calendar"""
|
|
28
|
+
|
|
29
|
+
custom = 7
|
|
30
|
+
"""User has custom permissions to the calendar."""
|
|
@@ -8,7 +8,8 @@ class ScheduleInformation(ClientValue):
|
|
|
8
8
|
"""Represents the availability of a user, distribution list, or resource (room or equipment)
|
|
9
9
|
for a specified time period."""
|
|
10
10
|
|
|
11
|
-
def __init__(self, schedule_id=None, schedule_items=None, availability_view=None, error=None,
|
|
11
|
+
def __init__(self, schedule_id=None, schedule_items=None, availability_view=None, error=None,
|
|
12
|
+
working_hours=WorkingHours()):
|
|
12
13
|
"""
|
|
13
14
|
|
|
14
15
|
:param WorkingHours working_hours: The days of the week and hours in a specific time zone that the user works.
|
|
@@ -18,14 +19,14 @@ class ScheduleInformation(ClientValue):
|
|
|
18
19
|
:param str availability_view: Represents a merged view of availability of all the items in scheduleItems.
|
|
19
20
|
The view consists of time slots. Availability during each time slot is indicated with:
|
|
20
21
|
0= free, 1= tentative, 2= busy, 3= out of office, 4= working elsewhere.
|
|
21
|
-
:param
|
|
22
|
+
:param list[ScheduleItem] schedule_items: Contains the items that describe the availability
|
|
22
23
|
of the user or resource.
|
|
23
24
|
:param str schedule_id: An SMTP address of the user, distribution list, or resource, identifying an instance
|
|
24
25
|
of scheduleInformation.
|
|
25
26
|
"""
|
|
26
27
|
super(ScheduleInformation, self).__init__()
|
|
27
|
-
self.scheduleItems = ClientValueCollection(ScheduleItem
|
|
28
|
+
self.scheduleItems = ClientValueCollection(ScheduleItem, schedule_items)
|
|
28
29
|
self.scheduleId = schedule_id
|
|
29
30
|
self.availabilityView = availability_view
|
|
30
31
|
self.error = error
|
|
31
|
-
self.workingHours =
|
|
32
|
+
self.workingHours = working_hours
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from office365.outlook.calendar.dateTimeTimeZone import DateTimeTimeZone
|
|
1
2
|
from office365.runtime.client_value import ClientValue
|
|
2
3
|
|
|
3
4
|
|
|
@@ -6,4 +7,22 @@ class ScheduleItem(ClientValue):
|
|
|
6
7
|
An item that describes the availability of a user corresponding to an actual event on the user's default calendar.
|
|
7
8
|
This item applies to a resource (room or equipment) as well.
|
|
8
9
|
"""
|
|
9
|
-
|
|
10
|
+
|
|
11
|
+
def __init__(self, start=DateTimeTimeZone(), end=DateTimeTimeZone(),
|
|
12
|
+
location=None, is_private=None, subject=None, status=None):
|
|
13
|
+
"""
|
|
14
|
+
:param DateTimeTimeZone start: The date, time, and time zone that the corresponding event starts.
|
|
15
|
+
:param DateTimeTimeZone end: The date, time, and time zone that the corresponding event ends.
|
|
16
|
+
:param str location: The location where the corresponding event is held or attended from. Optional.
|
|
17
|
+
:param bool is_private: The sensitivity of the corresponding event. True if the event is marked private,
|
|
18
|
+
false otherwise. Optional.
|
|
19
|
+
:param str subject: The corresponding event's subject line. Optional.
|
|
20
|
+
:param str status: The availability status of the user or resource during the corresponding event.
|
|
21
|
+
The possible values are: free, tentative, busy, oof, workingElsewhere, unknown.
|
|
22
|
+
"""
|
|
23
|
+
self.start = start
|
|
24
|
+
self.end = end
|
|
25
|
+
self.location = location
|
|
26
|
+
self.isPrivate = is_private
|
|
27
|
+
self.subject = subject
|
|
28
|
+
self.status = status
|
|
@@ -1,14 +1,30 @@
|
|
|
1
1
|
from office365.outlook.calendar.time_zone_base import TimeZoneBase
|
|
2
2
|
from office365.runtime.client_value import ClientValue
|
|
3
|
+
from office365.runtime.types.collections import StringCollection
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
class WorkingHours(ClientValue):
|
|
6
7
|
"""
|
|
7
8
|
Represents the days of the week and hours in a specific time zone that the user works.
|
|
9
|
+
|
|
10
|
+
Having access to a user's working hours is useful in scenarios that handle activity or resource planning.
|
|
11
|
+
You can get and set the working hours of a user as part of the user's mailbox settings.
|
|
12
|
+
|
|
13
|
+
You can choose to set a time zone for your working hours differently from the time zone you have set on your
|
|
14
|
+
Outlook client. This can be useful in cases like when you travel to a different time zone than you usually work in.
|
|
15
|
+
You can set the Outlook client to the destination time zone so that Outlook time values are displayed in local
|
|
16
|
+
time while you are there. When other people request work meetings with you in your usual place of work,
|
|
17
|
+
they can still respect your working hours in the appropriate time zone.
|
|
8
18
|
"""
|
|
9
19
|
|
|
10
|
-
def __init__(self, timezone=TimeZoneBase()):
|
|
20
|
+
def __init__(self, days_of_week=None, end_time=None, start_time=None, timezone=TimeZoneBase()):
|
|
11
21
|
"""
|
|
22
|
+
:param list[str] days_of_week: The days of the week on which the user works.
|
|
12
23
|
:param TimeZoneBase timezone: The time zone to which the working hours apply.
|
|
24
|
+
:param str end_time: The time of the day that the user stops working.
|
|
25
|
+
:param str start_time: The time of the day that the user starts working.
|
|
13
26
|
"""
|
|
27
|
+
self.daysOfWeek = StringCollection(days_of_week)
|
|
14
28
|
self.timeZone = timezone
|
|
29
|
+
self.endTime = end_time
|
|
30
|
+
self.startTime = start_time
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from office365.delta_collection import DeltaCollection
|
|
2
|
+
from office365.outlook.calendar.email_address import EmailAddress
|
|
3
|
+
from office365.outlook.contacts.contact import Contact
|
|
4
|
+
from office365.runtime.client_value_collection import ClientValueCollection
|
|
5
|
+
from office365.runtime.types.collections import StringCollection
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class ContactCollection(DeltaCollection):
|
|
9
|
+
|
|
10
|
+
def __init__(self, context, resource_path=None):
|
|
11
|
+
super(ContactCollection, self).__init__(context, Contact, resource_path)
|
|
12
|
+
|
|
13
|
+
def add(self, given_name, surname, email_address=None, business_phone=None, **kwargs):
|
|
14
|
+
"""
|
|
15
|
+
Add a contact to the root Contacts folder or to the contacts endpoint of another contact folder.
|
|
16
|
+
:param str given_name: The contact's given name.
|
|
17
|
+
:param str surname: The contact's surname.
|
|
18
|
+
:param str email_address: Default email address
|
|
19
|
+
:param str business_phone: Default contact's business phone number.
|
|
20
|
+
:rtype: Contact
|
|
21
|
+
"""
|
|
22
|
+
def _create_email_address(address):
|
|
23
|
+
return EmailAddress(address, "{0} {1}".format(given_name, surname))
|
|
24
|
+
|
|
25
|
+
kwargs["givenName"] = given_name
|
|
26
|
+
kwargs["surname"] = surname
|
|
27
|
+
if email_address:
|
|
28
|
+
kwargs["emailAddresses"] = ClientValueCollection(EmailAddress,
|
|
29
|
+
[_create_email_address(email_address)])
|
|
30
|
+
if business_phone:
|
|
31
|
+
kwargs["businessPhones"] = StringCollection([business_phone])
|
|
32
|
+
return super(ContactCollection, self).add(**kwargs)
|
|
33
|
+
|
|
34
|
+
def __getitem__(self, key):
|
|
35
|
+
"""
|
|
36
|
+
:param int or str key: Contact identifier or index
|
|
37
|
+
:rtype: Contact
|
|
38
|
+
"""
|
|
39
|
+
return super(ContactCollection, self).__getitem__(key)
|
|
@@ -8,16 +8,32 @@ from office365.outlook.item import OutlookItem
|
|
|
8
8
|
from office365.outlook.mail.physical_address import PhysicalAddress
|
|
9
9
|
from office365.runtime.client_value_collection import ClientValueCollection
|
|
10
10
|
from office365.runtime.paths.resource_path import ResourcePath
|
|
11
|
+
from office365.runtime.types.collections import StringCollection
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
class Contact(OutlookItem):
|
|
14
15
|
"""User's contact."""
|
|
15
16
|
|
|
17
|
+
@property
|
|
18
|
+
def business_phones(self):
|
|
19
|
+
"""The contact's business phone numbers."""
|
|
20
|
+
return self.properties.setdefault("businessPhones", StringCollection())
|
|
21
|
+
|
|
22
|
+
@property
|
|
23
|
+
def display_name(self):
|
|
24
|
+
"""
|
|
25
|
+
The contact's display name. You can specify the display name in a create or update operation.
|
|
26
|
+
Note that later updates to other properties may cause an automatically generated value to overwrite the
|
|
27
|
+
displayName value you have specified. To preserve a pre-existing value, always include it as displayName
|
|
28
|
+
in an update operation.
|
|
29
|
+
:rtype: str or None
|
|
30
|
+
"""
|
|
31
|
+
return self.properties.get('displayName', None)
|
|
32
|
+
|
|
16
33
|
@property
|
|
17
34
|
def manager(self):
|
|
18
35
|
"""
|
|
19
36
|
The name of the contact's manager.
|
|
20
|
-
|
|
21
37
|
:rtype: str or None
|
|
22
38
|
"""
|
|
23
39
|
return self.properties.get("manager", None)
|
|
@@ -26,7 +42,6 @@ class Contact(OutlookItem):
|
|
|
26
42
|
def manager(self, value):
|
|
27
43
|
"""
|
|
28
44
|
Sets name of the contact's manager.
|
|
29
|
-
|
|
30
45
|
:type value: str
|
|
31
46
|
"""
|
|
32
47
|
self.set_property("manager", value)
|
|
@@ -49,20 +64,13 @@ class Contact(OutlookItem):
|
|
|
49
64
|
|
|
50
65
|
@property
|
|
51
66
|
def home_address(self):
|
|
67
|
+
"""The contact's home address."""
|
|
52
68
|
return self.properties.get("homeAddress", PhysicalAddress())
|
|
53
69
|
|
|
54
70
|
@property
|
|
55
71
|
def email_addresses(self):
|
|
56
72
|
"""The contact's email addresses."""
|
|
57
|
-
return self.properties.
|
|
58
|
-
|
|
59
|
-
@email_addresses.setter
|
|
60
|
-
def email_addresses(self, value):
|
|
61
|
-
"""Sets contact's email addresses.
|
|
62
|
-
|
|
63
|
-
:type value: list[str]
|
|
64
|
-
"""
|
|
65
|
-
self.set_property("emailAddresses", value)
|
|
73
|
+
return self.properties.setdefault("emailAddresses", ClientValueCollection(EmailAddress))
|
|
66
74
|
|
|
67
75
|
@property
|
|
68
76
|
def extensions(self):
|
|
@@ -94,7 +102,9 @@ class Contact(OutlookItem):
|
|
|
94
102
|
def get_property(self, name, default_value=None):
|
|
95
103
|
if default_value is None:
|
|
96
104
|
property_mapping = {
|
|
105
|
+
"businessPhones": self.business_phones,
|
|
97
106
|
"emailAddresses": self.email_addresses,
|
|
107
|
+
"homeAddress": self.home_address,
|
|
98
108
|
"multiValueExtendedProperties": self.multi_value_extended_properties,
|
|
99
109
|
"singleValueExtendedProperties": self.single_value_extended_properties
|
|
100
110
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from office365.runtime.client_value import ClientValue
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class OutlookGeoCoordinates(ClientValue):
|
|
5
|
+
"""The geographic coordinates, elevation, and their degree of accuracy for a physical location."""
|
|
6
|
+
|
|
7
|
+
def __init__(self, accuracy=None, altitude=None, altitude_accuracy=None, latitude=None, longitude = None):
|
|
8
|
+
"""
|
|
9
|
+
:param float accuracy: The accuracy of the latitude and longitude. As an example, the accuracy can be measured
|
|
10
|
+
in meters, such as the latitude and longitude are accurate to within 50 meters.
|
|
11
|
+
:param float altitude: The altitude of the location.
|
|
12
|
+
:param float altitude_accuracy: The accuracy of the altitude.
|
|
13
|
+
:param float latitude: The latitude of the location.
|
|
14
|
+
:param float longitude: The longitude of the location.
|
|
15
|
+
"""
|
|
16
|
+
self.accuracy = accuracy
|
|
17
|
+
self.altitude = altitude
|
|
18
|
+
self.altitudeAccuracy = altitude_accuracy
|
|
19
|
+
self.latitude = latitude
|
|
20
|
+
self.longitude = longitude
|
office365/outlook/item.py
CHANGED
|
@@ -8,8 +8,11 @@ class OutlookItem(Entity):
|
|
|
8
8
|
|
|
9
9
|
@property
|
|
10
10
|
def change_key(self):
|
|
11
|
-
"""
|
|
12
|
-
|
|
11
|
+
"""
|
|
12
|
+
Identifies the version of the item. Every time the item is changed, changeKey changes as well.
|
|
13
|
+
This allows Exchange to apply changes to the correct version of the object.
|
|
14
|
+
:rtype: str
|
|
15
|
+
"""
|
|
13
16
|
return self.properties.get('ChangeKey', None)
|
|
14
17
|
|
|
15
18
|
@property
|
|
@@ -43,5 +46,3 @@ class OutlookItem(Entity):
|
|
|
43
46
|
}
|
|
44
47
|
default_value = property_mapping.get(name, None)
|
|
45
48
|
return super(OutlookItem, self).get_property(name, default_value)
|
|
46
|
-
|
|
47
|
-
|
office365/outlook/locale_info.py
CHANGED
|
@@ -6,3 +6,17 @@ class AutomaticRepliesSetting(ClientValue):
|
|
|
6
6
|
Configuration settings to automatically notify the sender of an incoming email with a message from the signed-in
|
|
7
7
|
user. For example, an automatic reply to notify that the signed-in user is unavailable to respond to emails.
|
|
8
8
|
"""
|
|
9
|
+
|
|
10
|
+
def __init__(self, external_audience=None, external_reply_message=None, internal_reply_message=None):
|
|
11
|
+
"""
|
|
12
|
+
:param str external_audience: The set of audience external to the signed-in user's organization who will
|
|
13
|
+
receive the ExternalReplyMessage, if Status is AlwaysEnabled or Scheduled.
|
|
14
|
+
The possible values are: none, contactsOnly, all.
|
|
15
|
+
:param str external_reply_message: The automatic reply to send to the specified external audience, if Status
|
|
16
|
+
is AlwaysEnabled or Scheduled.
|
|
17
|
+
:param str internal_reply_message: The automatic reply to send to the audience internal
|
|
18
|
+
to the signed-in user's organization, if Status is AlwaysEnabled or Scheduled.
|
|
19
|
+
"""
|
|
20
|
+
self.externalAudience = external_audience
|
|
21
|
+
self.externalReplyMessage = external_reply_message
|
|
22
|
+
self.internalReplyMessage = internal_reply_message
|
|
@@ -3,28 +3,76 @@ from office365.directory.extensions.extended_property import SingleValueLegacyEx
|
|
|
3
3
|
from office365.entity import Entity
|
|
4
4
|
from office365.entity_collection import EntityCollection
|
|
5
5
|
from office365.outlook.mail.messages.collection import MessageCollection
|
|
6
|
-
from office365.outlook.mail.messages.
|
|
6
|
+
from office365.outlook.mail.messages.rules.rule import MessageRule
|
|
7
7
|
from office365.runtime.paths.resource_path import ResourcePath
|
|
8
|
+
from office365.runtime.queries.service_operation import ServiceOperationQuery
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
class MailFolder(Entity):
|
|
11
12
|
"""A mail folder in a user's mailbox, such as Inbox and Drafts. Mail folders can contain messages,
|
|
12
13
|
other Outlook items, and child mail folders."""
|
|
13
14
|
|
|
15
|
+
def copy(self, destination_id):
|
|
16
|
+
"""
|
|
17
|
+
Copy a mailfolder and its contents to another mailfolder.
|
|
18
|
+
:param str destination_id: The folder ID, or a well-known folder name. For a list of supported well-known folder
|
|
19
|
+
names, see mailFolder resource type.
|
|
20
|
+
"""
|
|
21
|
+
return_type = MailFolder(self.context)
|
|
22
|
+
payload = {"DestinationId": destination_id}
|
|
23
|
+
qry = ServiceOperationQuery(self, "copy", None, payload, None, return_type)
|
|
24
|
+
self.context.add_query(qry)
|
|
25
|
+
return return_type
|
|
26
|
+
|
|
27
|
+
@property
|
|
28
|
+
def child_folder_count(self):
|
|
29
|
+
"""
|
|
30
|
+
The number of immediate child mailFolders in the current mailFolder.
|
|
31
|
+
:rtype: int or None
|
|
32
|
+
"""
|
|
33
|
+
return self.properties.get("childFolderCount", None)
|
|
34
|
+
|
|
14
35
|
@property
|
|
15
36
|
def display_name(self):
|
|
16
37
|
"""
|
|
17
38
|
The name of the Mail folder
|
|
18
|
-
|
|
19
39
|
:rtype: str or None
|
|
20
40
|
"""
|
|
21
41
|
return self.properties.get("displayName", None)
|
|
22
42
|
|
|
43
|
+
@property
|
|
44
|
+
def is_hidden(self):
|
|
45
|
+
"""
|
|
46
|
+
Indicates whether the mailFolder is hidden. This property can be set only when creating the folder.
|
|
47
|
+
Find more information in Hidden mail folders.
|
|
48
|
+
:rtype: bool or None
|
|
49
|
+
"""
|
|
50
|
+
return self.properties.get("isHidden", None)
|
|
51
|
+
|
|
52
|
+
@property
|
|
53
|
+
def parent_folder_id(self):
|
|
54
|
+
"""
|
|
55
|
+
The unique identifier for the mailFolder's parent mailFolder.
|
|
56
|
+
:rtype: str or None
|
|
57
|
+
"""
|
|
58
|
+
return self.properties.get('parentFolderId', None)
|
|
59
|
+
|
|
23
60
|
@property
|
|
24
61
|
def total_item_count(self):
|
|
25
|
-
"""
|
|
62
|
+
"""
|
|
63
|
+
The number of items in the mailFolder.
|
|
64
|
+
:rtype: int
|
|
65
|
+
"""
|
|
26
66
|
return self.properties.get("totalItemCount", None)
|
|
27
67
|
|
|
68
|
+
@property
|
|
69
|
+
def unread_item_count(self):
|
|
70
|
+
"""
|
|
71
|
+
The number of items in the mailFolder marked as unread.
|
|
72
|
+
:rtype: int
|
|
73
|
+
"""
|
|
74
|
+
return self.properties.get("unreadItemCount", None)
|
|
75
|
+
|
|
28
76
|
@property
|
|
29
77
|
def child_folders(self):
|
|
30
78
|
"""The collection of child folders in the mailFolder. """
|
|
@@ -34,6 +82,7 @@ class MailFolder(Entity):
|
|
|
34
82
|
|
|
35
83
|
@property
|
|
36
84
|
def message_rules(self):
|
|
85
|
+
""""""
|
|
37
86
|
return self.properties.get('messageRules',
|
|
38
87
|
EntityCollection(self.context, MessageRule,
|
|
39
88
|
ResourcePath("messageRules", self.resource_path)))
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from office365.outlook.mail.folders.folder import MailFolder
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class MailSearchFolder(MailFolder):
|
|
5
|
+
"""
|
|
6
|
+
A mailSearchFolder is a virtual folder in the user's mailbox that contains all the email items
|
|
7
|
+
matching specified search criteria. mailSearchFolder inherits from mailFolder.
|
|
8
|
+
Search folders can be created in any folder in a user's Exchange Online mailbox. However, for a search folder
|
|
9
|
+
to appear in Outlook, Outlook for the web, or Outlook Live, the folder must be created in the
|
|
10
|
+
WellKnownFolderName.SearchFolders folder.
|
|
11
|
+
"""
|
|
@@ -1,12 +1,37 @@
|
|
|
1
|
+
from office365.outlook.geo_coordinates import OutlookGeoCoordinates
|
|
2
|
+
from office365.outlook.mail.physical_address import PhysicalAddress
|
|
1
3
|
from office365.runtime.client_value import ClientValue
|
|
4
|
+
from office365.runtime.client_value_collection import ClientValueCollection
|
|
2
5
|
|
|
3
6
|
|
|
4
7
|
class Location(ClientValue):
|
|
5
|
-
"""
|
|
8
|
+
"""
|
|
9
|
+
Represents location information of an event.
|
|
6
10
|
|
|
7
|
-
|
|
11
|
+
There are multiple ways to create events in a calendar, for example, through an app using the create event REST API,
|
|
12
|
+
or manually using the Outlook user interface. When you create an event using the user interface, you can specify
|
|
13
|
+
the location as plain text (for example, "Harry's Bar"), or from the rooms list provided by Outlook,
|
|
14
|
+
Bing Autosuggest, or Bing local search.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
def __init__(self, address=PhysicalAddress(), coordinates=None, display_name=None, location_email_address=None,
|
|
18
|
+
location_type=None, location_uri=None, unique_id=None, unique_id_type=None):
|
|
8
19
|
"""
|
|
20
|
+
:param PhysicalAddress address: The street address of the location.
|
|
21
|
+
:param list[OutlookGeoCoordinates] coordinates:
|
|
9
22
|
:param str display_name: The name associated with the location.
|
|
23
|
+
:param str location_email_address: Optional email address of the location.
|
|
24
|
+
:param str location_type: The type of location.
|
|
25
|
+
:param str location_uri: Optional URI representing the location.
|
|
26
|
+
:param str unique_id: For internal use only.
|
|
27
|
+
:param str unique_id_type: For internal use only.
|
|
10
28
|
"""
|
|
11
29
|
super(Location, self).__init__()
|
|
30
|
+
self.address = address
|
|
31
|
+
self.coordinates = ClientValueCollection(OutlookGeoCoordinates, coordinates)
|
|
12
32
|
self.displayName = display_name
|
|
33
|
+
self.locationEmailAddress = location_email_address
|
|
34
|
+
self.locationType = location_type
|
|
35
|
+
self.locationUri = location_uri
|
|
36
|
+
self.uniqueId = unique_id
|
|
37
|
+
self.uniqueIdType = unique_id_type
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from office365.outlook.calendar.working_hours import WorkingHours
|
|
2
|
+
from office365.outlook.locale_info import LocaleInfo
|
|
1
3
|
from office365.outlook.mail.automatic_replies_setting import AutomaticRepliesSetting
|
|
2
4
|
from office365.runtime.client_value import ClientValue
|
|
3
5
|
|
|
@@ -5,14 +7,24 @@ from office365.runtime.client_value import ClientValue
|
|
|
5
7
|
class MailboxSettings(ClientValue):
|
|
6
8
|
"""Settings for the primary mailbox of a user."""
|
|
7
9
|
|
|
8
|
-
def __init__(self, time_format=None, time_zone=None, automatic_replies_setting=AutomaticRepliesSetting()
|
|
10
|
+
def __init__(self, time_format=None, time_zone=None, automatic_replies_setting=AutomaticRepliesSetting(),
|
|
11
|
+
archive_folder=None, date_format=None, language=LocaleInfo(), working_hours=WorkingHours()):
|
|
9
12
|
"""
|
|
10
13
|
:param str time_format: The time format for the user's mailbox.
|
|
11
14
|
:param str time_zone: The default time zone for the user's mailbox.
|
|
12
15
|
:param AutomaticRepliesSetting automatic_replies_setting: Configuration settings to automatically notify
|
|
13
16
|
the sender of an incoming email with a message from the signed-in user.
|
|
17
|
+
:param str archive_folder: Folder ID of an archive folder for the user.
|
|
18
|
+
:param str date_format: The date format for the user's mailbox.
|
|
19
|
+
:param LocaleInfo language: The locale information for the user, including the preferred language
|
|
20
|
+
and country/region.
|
|
21
|
+
:param WorkingHours working_hours: The days of the week and hours in a specific time zone that the user works.
|
|
14
22
|
"""
|
|
15
23
|
super(MailboxSettings, self).__init__()
|
|
16
24
|
self.timeFormat = time_format
|
|
17
25
|
self.timeZone = time_zone
|
|
18
26
|
self.automaticRepliesSetting = automatic_replies_setting
|
|
27
|
+
self.archiveFolder = archive_folder
|
|
28
|
+
self.dateFormat = date_format
|
|
29
|
+
self.language = language
|
|
30
|
+
self.workingHours = working_hours
|