Office365-REST-Python-Client 2.4.3__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.3.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/METADATA +8 -7
- {Office365_REST_Python_Client-2.4.3.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/RECORD +254 -162
- office365/base_item.py +26 -4
- 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/audit/signins/activity.py +31 -0
- office365/directory/audit/signins/location.py +17 -0
- office365/directory/audit/signins/signin.py +25 -0
- office365/directory/authentication/authentication.py +9 -0
- office365/directory/authentication/methods/details.py +18 -0
- office365/directory/authentication/methods/email.py +16 -0
- office365/directory/authentication/methods/root.py +10 -0
- office365/directory/certificates/authority.py +6 -1
- office365/directory/extensions/extended_property.py +8 -1
- office365/directory/extensions/extension_property.py +0 -3
- office365/directory/extensions/open_type.py +8 -0
- office365/directory/groups/group.py +2 -1
- office365/directory/identities/governance.py +2 -0
- office365/directory/insights/shared.py +15 -1
- office365/directory/insights/usage_details.py +16 -0
- office365/directory/insights/used.py +7 -0
- office365/directory/licenses/assigned_plan.py +14 -2
- office365/directory/licenses/service_plan_info.py +4 -0
- office365/directory/licenses/subscribed_sku.py +26 -0
- office365/directory/licenses/units_detail.py +11 -0
- 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/rolemanagement/template.py +8 -0
- office365/directory/rolemanagement/unified_role_assignment.py +37 -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/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 +88 -3
- 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 +12 -0
- office365/directory/users/password_profile.py +15 -3
- office365/directory/users/user.py +136 -8
- office365/graph_client.py +28 -1
- office365/intune/audit/actor.py +5 -0
- office365/intune/audit/event.py +21 -25
- 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/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 +28 -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/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/issues/issue.py +15 -0
- office365/intune/vpp_token.py +10 -0
- office365/onedrive/columns/content_approval_status.py +5 -0
- office365/onedrive/columns/datetime.py +15 -0
- office365/onedrive/columns/definition.py +49 -3
- office365/onedrive/columns/definition_collection.py +17 -6
- office365/onedrive/columns/types.py +13 -0
- office365/onedrive/driveitems/audio.py +12 -1
- office365/onedrive/driveitems/driveItem.py +66 -15
- office365/onedrive/driveitems/image.py +8 -1
- office365/onedrive/driveitems/remote_item.py +19 -4
- office365/onedrive/drives/recipient.py +4 -0
- office365/onedrive/files/system_info.py +8 -6
- office365/onedrive/lists/collection.py +11 -5
- office365/onedrive/lists/list.py +13 -5
- office365/onedrive/operations/pending.py +13 -0
- office365/onedrive/operations/pending_content_update.py +5 -0
- office365/onedrive/permissions/collection.py +1 -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/outlook/calendar/calendar.py +116 -5
- office365/outlook/calendar/dateTimeTimeZone.py +3 -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/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/role_type.py +17 -0
- 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 -2
- office365/outlook/locale_info.py +3 -0
- office365/outlook/mail/folders/folder.py +51 -2
- 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/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 +183 -4
- office365/outlook/mail/messages/rules/actions.py +33 -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/reports/root.py +19 -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/sharepoint/activities/logger.py +25 -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/changes/item.py +14 -0
- office365/sharepoint/client_context.py +6 -0
- 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/content_type.py +42 -0
- office365/sharepoint/contenttypes/fieldlinks/collection.py +5 -6
- office365/sharepoint/features/known_list.py +2 -0
- office365/sharepoint/fields/collection.py +60 -41
- 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/file.py +9 -4
- 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 +10 -3
- office365/sharepoint/lists/bloom_filter.py +0 -1
- office365/sharepoint/lists/creation_information.py +18 -4
- office365/sharepoint/lists/list.py +199 -24
- office365/sharepoint/lists/render_data_parameters.py +21 -1
- 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/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/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 +34 -6
- office365/sharepoint/tenant/administration/audit/search_request_status.py +8 -0
- office365/sharepoint/tenant/administration/hubsites/permission.py +10 -0
- office365/sharepoint/tenant/administration/tenant.py +1 -0
- office365/sharepoint/tenant/apps/information.py +3 -1
- office365/sharepoint/tenant/management/office365_tenant.py +0 -1
- 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/webs/web.py +2 -3
- office365/subscriptions/collection.py +12 -6
- office365/subscriptions/subscription.py +119 -1
- office365/teams/channels/iIdentity.py +5 -0
- office365/teams/chats/collection.py +1 -2
- office365/teams/chats/messages/info.py +9 -0
- office365/teams/chats/messages/message.py +17 -2
- office365/teams/members/aad_user_conversation.py +2 -2
- office365/teams/members/conversation_collection.py +3 -3
- office365/teams/schedule/change_tracked_entity.py +11 -2
- office365/teams/tabs/configuration.py +12 -1
- office365/teams/tabs/tab.py +0 -1
- office365/teams/team.py +23 -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/member.py +5 -0
- office365/{directory/security/cases_root.py → teams/viva/employee_experience_user.py} +1 -1
- office365/intune/devices/management.py +0 -35
- {Office365_REST_Python_Client-2.4.3.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/LICENSE +0 -0
- {Office365_REST_Python_Client-2.4.3.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/WHEEL +0 -0
- {Office365_REST_Python_Client-2.4.3.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/top_level.txt +0 -0
- /office365/{teams/messages → directory/security/cases}/__init__.py +0 -0
- /office365/{teams/tags → directory/synchronization}/__init__.py +0 -0
- /office365/teams/{tags → teamwork/tags}/identity.py +0 -0
- /office365/teams/{tags → teamwork/tags}/tag.py +0 -0
- /office365/teams/{user_teamwork.py → teamwork/user.py} +0 -0
|
@@ -12,8 +12,10 @@ from office365.onedrive.driveitems.image import Image
|
|
|
12
12
|
from office365.onedrive.driveitems.item_preview_info import ItemPreviewInfo
|
|
13
13
|
from office365.onedrive.driveitems.photo import Photo
|
|
14
14
|
from office365.onedrive.driveitems.publication_facet import PublicationFacet
|
|
15
|
+
from office365.onedrive.driveitems.remote_item import RemoteItem
|
|
15
16
|
from office365.onedrive.driveitems.special_folder import SpecialFolder
|
|
16
17
|
from office365.onedrive.driveitems.thumbnail_set import ThumbnailSet
|
|
18
|
+
from office365.onedrive.drives.recipient import DriveRecipient
|
|
17
19
|
from office365.onedrive.files.file import File
|
|
18
20
|
from office365.onedrive.files.system_info import FileSystemInfo
|
|
19
21
|
from office365.onedrive.folders.folder import Folder
|
|
@@ -22,19 +24,22 @@ from office365.onedrive.internal.paths.url import UrlPath
|
|
|
22
24
|
from office365.onedrive.internal.queries.resumable_file_upload import create_resumable_file_upload_query
|
|
23
25
|
from office365.onedrive.listitems.item_reference import ItemReference
|
|
24
26
|
from office365.onedrive.listitems.list_item import ListItem
|
|
27
|
+
from office365.onedrive.operations.pending import PendingOperations
|
|
25
28
|
from office365.onedrive.permissions.collection import PermissionCollection
|
|
26
29
|
from office365.onedrive.permissions.permission import Permission
|
|
30
|
+
from office365.onedrive.sensitivitylabels.extract_result import ExtractSensitivityLabelsResult
|
|
27
31
|
from office365.onedrive.shares.shared import Shared
|
|
28
32
|
from office365.onedrive.versions.drive_item import DriveItemVersion
|
|
29
33
|
from office365.onedrive.workbooks.workbook import Workbook
|
|
30
34
|
from office365.runtime.client_result import ClientResult
|
|
35
|
+
from office365.runtime.client_value_collection import ClientValueCollection
|
|
31
36
|
from office365.runtime.http.http_method import HttpMethod
|
|
32
37
|
from office365.runtime.paths.resource_path import ResourcePath
|
|
33
38
|
from office365.runtime.queries.create_entity import CreateEntityQuery
|
|
34
39
|
from office365.runtime.queries.function import FunctionQuery
|
|
35
40
|
from office365.runtime.queries.service_operation import ServiceOperationQuery
|
|
36
41
|
from office365.runtime.queries.upload_session import UploadSessionQuery
|
|
37
|
-
from office365.subscriptions.
|
|
42
|
+
from office365.subscriptions.collection import SubscriptionCollection
|
|
38
43
|
|
|
39
44
|
|
|
40
45
|
class DriveItem(BaseItem):
|
|
@@ -66,7 +71,7 @@ class DriveItem(BaseItem):
|
|
|
66
71
|
|
|
67
72
|
:param str link_type: The type of sharing link to create. Either view, edit, or embed.
|
|
68
73
|
:param str scope: The scope of link to create. Either anonymous or organization.
|
|
69
|
-
:param str expiration_datetime: A String with format of yyyy-MM-ddTHH:mm:ssZ of DateTime indicates
|
|
74
|
+
:param str or datetime.datetime expiration_datetime: A String with format of yyyy-MM-ddTHH:mm:ssZ of DateTime indicates
|
|
70
75
|
the expiration time of the permission.
|
|
71
76
|
:param str password: The password of the sharing link that is set by the creator. Optional
|
|
72
77
|
and OneDrive Personal only.
|
|
@@ -89,6 +94,17 @@ class DriveItem(BaseItem):
|
|
|
89
94
|
self.context.add_query(qry)
|
|
90
95
|
return return_type
|
|
91
96
|
|
|
97
|
+
def extract_sensitivity_labels(self):
|
|
98
|
+
"""
|
|
99
|
+
Extract one or more sensitivity labels assigned to a drive item and update the metadata of a drive
|
|
100
|
+
item with the latest details of the assigned label. In case of failure to extract the sensitivity labels
|
|
101
|
+
of a file, an extraction error will be thrown with the applicable error code and message.
|
|
102
|
+
"""
|
|
103
|
+
return_type = ClientResult(self.context, ExtractSensitivityLabelsResult())
|
|
104
|
+
qry = ServiceOperationQuery(self, "extractSensitivityLabels", return_type=return_type)
|
|
105
|
+
self.context.add_query(qry)
|
|
106
|
+
return return_type
|
|
107
|
+
|
|
92
108
|
def follow(self):
|
|
93
109
|
"""
|
|
94
110
|
Follow a driveItem.
|
|
@@ -397,31 +413,43 @@ class DriveItem(BaseItem):
|
|
|
397
413
|
self.context.add_query(qry)
|
|
398
414
|
return return_type
|
|
399
415
|
|
|
400
|
-
def invite(self, recipients, message, require_sign_in=True, send_invitation=True, roles=None
|
|
401
|
-
|
|
416
|
+
def invite(self, recipients, message, require_sign_in=True, send_invitation=True, roles=None,
|
|
417
|
+
expiration_datetime=None, password=None, retain_inherited_permissions=None):
|
|
418
|
+
"""
|
|
419
|
+
Sends a sharing invitation for a driveItem. A sharing invitation provides permissions to the recipients
|
|
402
420
|
and optionally sends them an email with a sharing link.
|
|
403
421
|
|
|
404
|
-
:param list[
|
|
405
|
-
|
|
422
|
+
:param list[str] recipients: A collection of recipients who will receive access and the sharing
|
|
423
|
+
invitation.
|
|
406
424
|
:param str message: A plain text formatted message that is included in the sharing invitation.
|
|
407
|
-
|
|
425
|
+
Maximum length 2000 characters.
|
|
408
426
|
:param bool require_sign_in: Specifies whether the recipient of the invitation is required to sign-in to view
|
|
409
|
-
|
|
427
|
+
the shared item.
|
|
410
428
|
:param bool send_invitation: If true, a sharing link is sent to the recipient. Otherwise, a permission is
|
|
411
|
-
|
|
429
|
+
granted directly without sending a notification.
|
|
412
430
|
:param list[str] roles: Specify the roles that are to be granted to the recipients of the sharing invitation.
|
|
431
|
+
:param datetime.datetime expiration_datetime: Specifies the dateTime after which the permission expires.
|
|
432
|
+
For OneDrive for Business and SharePoint, expirationDateTime is only applicable for sharingLink permissions.
|
|
433
|
+
Available on OneDrive for Business, SharePoint, and premium personal OneDrive accounts.
|
|
434
|
+
:param str password: The password set on the invite by the creator. Optional and OneDrive Personal only.
|
|
435
|
+
:param bool retain_inherited_permissions: Optional. If true (default), any existing inherited permissions
|
|
436
|
+
are retained on the shared item when sharing this item for the first time. If false, all existing
|
|
437
|
+
permissions are removed when sharing for the first time.
|
|
413
438
|
"""
|
|
414
439
|
if roles is None:
|
|
415
440
|
roles = ["read"]
|
|
416
|
-
return_type =
|
|
441
|
+
return_type = PermissionCollection(self.context)
|
|
417
442
|
payload = {
|
|
418
443
|
"requireSignIn": require_sign_in,
|
|
419
444
|
"sendInvitation": send_invitation,
|
|
420
445
|
"roles": roles,
|
|
421
|
-
"recipients": recipients,
|
|
422
|
-
"message": message
|
|
446
|
+
"recipients": ClientValueCollection(DriveRecipient, [DriveRecipient.from_email(r) for r in recipients]),
|
|
447
|
+
"message": message,
|
|
448
|
+
"expirationDateTime": expiration_datetime.isoformat() + "Z" if expiration_datetime else None,
|
|
449
|
+
"password": password,
|
|
450
|
+
"retainInheritedPermissions": retain_inherited_permissions
|
|
423
451
|
}
|
|
424
|
-
qry = ServiceOperationQuery(self, "invite",
|
|
452
|
+
qry = ServiceOperationQuery(self, "invite", None, payload, None, return_type)
|
|
425
453
|
self.context.add_query(qry)
|
|
426
454
|
return return_type
|
|
427
455
|
|
|
@@ -449,6 +477,16 @@ class DriveItem(BaseItem):
|
|
|
449
477
|
|
|
450
478
|
return return_type
|
|
451
479
|
|
|
480
|
+
def permanent_delete(self):
|
|
481
|
+
"""
|
|
482
|
+
Permanently delete a driveItem.
|
|
483
|
+
Note that if you delete items using this method, they will be permanently removed and won't be sent to the
|
|
484
|
+
recycle bin. Therefore, they cannot be restored afterward.
|
|
485
|
+
"""
|
|
486
|
+
qry = ServiceOperationQuery(self, "permanentDelete")
|
|
487
|
+
self.context.add_query(qry)
|
|
488
|
+
return self
|
|
489
|
+
|
|
452
490
|
def restore(self, parent_reference=None, name=None):
|
|
453
491
|
"""
|
|
454
492
|
Restore a driveItem that has been deleted and is currently in the recycle bin.
|
|
@@ -587,6 +625,12 @@ class DriveItem(BaseItem):
|
|
|
587
625
|
"""For files that are Excel spreadsheets, accesses the workbook API to work with the spreadsheet's contents. """
|
|
588
626
|
return self.properties.get('workbook', Workbook(self.context, ResourcePath("workbook", self.resource_path)))
|
|
589
627
|
|
|
628
|
+
@property
|
|
629
|
+
def pending_operations(self):
|
|
630
|
+
"""If present, indicates that one or more operations that might affect the state of the driveItem are pending
|
|
631
|
+
completion. Read-only."""
|
|
632
|
+
return self.properties.get('pendingOperations', PendingOperations())
|
|
633
|
+
|
|
590
634
|
@property
|
|
591
635
|
def permissions(self):
|
|
592
636
|
"""The set of permissions for the item. Read-only. Nullable."""
|
|
@@ -599,6 +643,11 @@ class DriveItem(BaseItem):
|
|
|
599
643
|
in locations that support such actions. This property is not returned by default. Read-only."""
|
|
600
644
|
return self.properties.get('publication', PublicationFacet())
|
|
601
645
|
|
|
646
|
+
@property
|
|
647
|
+
def remote_item(self):
|
|
648
|
+
"""Remote item data, if the item is shared from a drive other than the one being accessed. Read-only."""
|
|
649
|
+
return self.properties.get('remoteItem', RemoteItem())
|
|
650
|
+
|
|
602
651
|
@property
|
|
603
652
|
def special_folder(self):
|
|
604
653
|
"""If the current item is also available as a special folder, this facet is returned. Read-only."""
|
|
@@ -637,13 +686,15 @@ class DriveItem(BaseItem):
|
|
|
637
686
|
"""The set of subscriptions on the driveItem.
|
|
638
687
|
"""
|
|
639
688
|
return self.properties.get('subscriptions',
|
|
640
|
-
|
|
641
|
-
|
|
689
|
+
SubscriptionCollection(self.context,
|
|
690
|
+
ResourcePath("subscriptions", self.resource_path)))
|
|
642
691
|
|
|
643
692
|
def get_property(self, name, default_value=None):
|
|
644
693
|
if default_value is None:
|
|
645
694
|
property_mapping = {
|
|
646
695
|
"fileSystemInfo": self.file_system_info,
|
|
696
|
+
"remoteItem": self.remote_item,
|
|
697
|
+
"specialFolder": self.special_folder
|
|
647
698
|
}
|
|
648
699
|
default_value = property_mapping.get(name, None)
|
|
649
700
|
return super(DriveItem, self).get_property(name, default_value)
|
|
@@ -8,4 +8,11 @@ class Image(ClientValue):
|
|
|
8
8
|
|
|
9
9
|
Note: If the service is unable to determine the width and height of the image, the Image resource may be empty.
|
|
10
10
|
"""
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
def __init__(self, height=None, width=None):
|
|
13
|
+
"""
|
|
14
|
+
:param int height:
|
|
15
|
+
:param int width:
|
|
16
|
+
"""
|
|
17
|
+
self.height = height
|
|
18
|
+
self.width = width
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
from office365.directory.permissions.identity_set import IdentitySet
|
|
2
|
+
from office365.onedrive.driveitems.image import Image
|
|
3
|
+
from office365.onedrive.files.file import File
|
|
4
|
+
from office365.onedrive.files.system_info import FileSystemInfo
|
|
5
|
+
from office365.onedrive.folders.folder import Folder
|
|
2
6
|
from office365.runtime.client_value import ClientValue
|
|
3
7
|
|
|
4
8
|
|
|
@@ -8,13 +12,24 @@ class RemoteItem(ClientValue):
|
|
|
8
12
|
This resource provides the unique IDs of the source drive and target item.
|
|
9
13
|
|
|
10
14
|
DriveItems with a non-null remoteItem facet are resources that are shared, added to the user's OneDrive,
|
|
11
|
-
or on items returned from
|
|
15
|
+
or on items returned from heterogeneous collections of items (like search results).
|
|
12
16
|
"""
|
|
13
17
|
|
|
14
|
-
def __init__(self, created_by=IdentitySet(), created_datetime=None
|
|
18
|
+
def __init__(self, _id=None, created_by=IdentitySet(), created_datetime=None,
|
|
19
|
+
file=File(), file_system_info=FileSystemInfo(), folder=Folder(), image=Image()):
|
|
15
20
|
"""
|
|
16
|
-
:param
|
|
17
|
-
:param
|
|
21
|
+
:param str _id: Unique identifier for the remote item in its drive. Read-only.
|
|
22
|
+
:param IdentitySet created_by: Identity of the user, device, and application which created the item. Read-only.
|
|
23
|
+
:param datetime.datetime created_datetime: Date and time of item creation. Read-only.
|
|
24
|
+
:param File file: Indicates that the remote item is a file. Read-only.
|
|
25
|
+
:param FileSystemInfo file_system_info: Information about the remote item from the local file system. Read-only.
|
|
26
|
+
:param Folder folder: Indicates that the remote item is a folder. Read-only.
|
|
27
|
+
:param Image image: Image metadata, if the item is an image. Read-only.
|
|
18
28
|
"""
|
|
29
|
+
self.id = _id
|
|
19
30
|
self.createdBy = created_by
|
|
20
31
|
self.createdDateTime = created_datetime
|
|
32
|
+
self.file = file
|
|
33
|
+
self.fileSystemInfo = file_system_info
|
|
34
|
+
self.folder = folder
|
|
35
|
+
self.image = image
|
|
@@ -5,12 +5,14 @@ class FileSystemInfo(ClientValue):
|
|
|
5
5
|
"""The FileSystemInfo resource contains properties that are reported by the device's local file system for the
|
|
6
6
|
local version of an item. """
|
|
7
7
|
|
|
8
|
-
def __init__(self,
|
|
8
|
+
def __init__(self, created_datetime=None, last_accessed_datetime=None, last_modified_datetime=None):
|
|
9
9
|
"""
|
|
10
|
-
:param
|
|
11
|
-
|
|
10
|
+
:param datetime.datetime created_datetime: The UTC date and time the file was created on a client.
|
|
11
|
+
:param datetime.datetime last_accessed_datetime: The UTC date and time the file was last accessed.
|
|
12
|
+
Available for the recent file list only.
|
|
13
|
+
:param datetime.datetime last_modified_datetime: The UTC date and time the file was last modified on a client.
|
|
12
14
|
"""
|
|
13
15
|
super(FileSystemInfo, self).__init__()
|
|
14
|
-
self.createdDateTime =
|
|
15
|
-
self.lastAccessedDateTime =
|
|
16
|
-
self.lastModifiedDateTime =
|
|
16
|
+
self.createdDateTime = created_datetime
|
|
17
|
+
self.lastAccessedDateTime = last_accessed_datetime
|
|
18
|
+
self.lastModifiedDateTime = last_modified_datetime
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from office365.entity_collection import EntityCollection
|
|
2
2
|
from office365.onedrive.lists.list import List
|
|
3
|
+
from office365.runtime.paths.item import ItemPath
|
|
3
4
|
from office365.runtime.queries.create_entity import CreateEntityQuery
|
|
4
5
|
|
|
5
6
|
|
|
@@ -17,14 +18,19 @@ class ListCollection(EntityCollection):
|
|
|
17
18
|
"""
|
|
18
19
|
return super(ListCollection, self).__getitem__(key)
|
|
19
20
|
|
|
20
|
-
def add(self,
|
|
21
|
+
def add(self, display_name, list_template="genericList"):
|
|
21
22
|
"""
|
|
22
|
-
|
|
23
|
+
Create a new list.
|
|
23
24
|
|
|
24
|
-
:param
|
|
25
|
+
:param str display_name: The displayable title of the list.
|
|
26
|
+
:param str list_template: The base list template used in creating the list
|
|
25
27
|
"""
|
|
26
|
-
return_type = List(self.context)
|
|
28
|
+
return_type = List(self.context, ItemPath(self.resource_path))
|
|
27
29
|
self.add_child(return_type)
|
|
28
|
-
|
|
30
|
+
payload = {
|
|
31
|
+
"displayName": display_name,
|
|
32
|
+
"list": {"template": list_template},
|
|
33
|
+
}
|
|
34
|
+
qry = CreateEntityQuery(self, payload, return_type)
|
|
29
35
|
self.context.add_query(qry)
|
|
30
36
|
return return_type
|
office365/onedrive/lists/list.py
CHANGED
|
@@ -4,6 +4,7 @@ from office365.onedrive.columns.definition_collection import ColumnDefinitionCol
|
|
|
4
4
|
from office365.onedrive.contenttypes.collection import ContentTypeCollection
|
|
5
5
|
from office365.onedrive.listitems.list_item import ListItem
|
|
6
6
|
from office365.onedrive.lists.info import ListInfo
|
|
7
|
+
from office365.onedrive.operations.rich_long_running import RichLongRunningOperation
|
|
7
8
|
from office365.onedrive.sharepoint_ids import SharePointIds
|
|
8
9
|
from office365.runtime.paths.resource_path import ResourcePath
|
|
9
10
|
from office365.subscriptions.subscription import Subscription
|
|
@@ -17,7 +18,6 @@ class List(BaseItem):
|
|
|
17
18
|
def display_name(self):
|
|
18
19
|
"""
|
|
19
20
|
The displayable title of the list.
|
|
20
|
-
|
|
21
21
|
:rtype: str or None
|
|
22
22
|
"""
|
|
23
23
|
return self.properties.get("displayName", None)
|
|
@@ -42,9 +42,9 @@ class List(BaseItem):
|
|
|
42
42
|
@property
|
|
43
43
|
def columns(self):
|
|
44
44
|
"""The collection of columns under this site."""
|
|
45
|
-
return self.properties.
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
return self.properties.setdefault('columns',
|
|
46
|
+
ColumnDefinitionCollection(self.context,
|
|
47
|
+
ResourcePath("columns", self.resource_path), self))
|
|
48
48
|
|
|
49
49
|
@property
|
|
50
50
|
def content_types(self):
|
|
@@ -57,7 +57,15 @@ class List(BaseItem):
|
|
|
57
57
|
def items(self):
|
|
58
58
|
"""All items contained in the list."""
|
|
59
59
|
return self.properties.get('items',
|
|
60
|
-
EntityCollection(self.context, ListItem,
|
|
60
|
+
EntityCollection(self.context, ListItem,
|
|
61
|
+
ResourcePath("items", self.resource_path)))
|
|
62
|
+
|
|
63
|
+
@property
|
|
64
|
+
def operations(self):
|
|
65
|
+
"""The collection of long-running operations on the list."""
|
|
66
|
+
return self.properties.get('operations',
|
|
67
|
+
EntityCollection(self.context, RichLongRunningOperation,
|
|
68
|
+
ResourcePath("operations", self.resource_path)))
|
|
61
69
|
|
|
62
70
|
@property
|
|
63
71
|
def subscriptions(self):
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from office365.onedrive.operations.pending_content_update import PendingContentUpdate
|
|
2
|
+
from office365.runtime.client_value import ClientValue
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class PendingOperations(ClientValue):
|
|
6
|
+
"""Indicates that one or more operations that might affect the state of the driveItem are pending completion."""
|
|
7
|
+
|
|
8
|
+
def __init__(self, pending_content_update=PendingContentUpdate()):
|
|
9
|
+
"""
|
|
10
|
+
:param str pending_content_update: A property that indicates that an operation that might update the binary
|
|
11
|
+
content of a file is pending completion.
|
|
12
|
+
"""
|
|
13
|
+
self.pendingContentUpdate = pending_content_update
|
|
@@ -6,7 +6,7 @@ from office365.runtime.queries.create_entity import CreateEntityQuery
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class PermissionCollection(EntityCollection):
|
|
9
|
-
"""
|
|
9
|
+
"""Permission's collection"""
|
|
10
10
|
|
|
11
11
|
def __init__(self, context, resource_path=None):
|
|
12
12
|
super(PermissionCollection, self).__init__(context, Permission, resource_path)
|
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from office365.runtime.client_value import ClientValue
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class SensitivityLabelAssignment(ClientValue):
|
|
5
|
+
"""Provides details about a sensitivity label assigned to a file in SharePoint or OneDrive for Business."""
|
|
6
|
+
|
|
7
|
+
def __init__(self, assignment_method=None, sensitivity_label_id=None, tenant_id=None):
|
|
8
|
+
"""
|
|
9
|
+
:param str assignment_method: Indicates whether the label assignment is done automatically, as a standard,
|
|
10
|
+
or a privileged operation.
|
|
11
|
+
:param str sensitivity_label_id: The unique identifier for the sensitivity label assigned to the file.
|
|
12
|
+
: The unique identifier for the tenant that hosts the file when this label is applied.
|
|
13
|
+
:param str tenant_id: The unique identifier for the tenant that hosts the file when this label is applied.
|
|
14
|
+
"""
|
|
15
|
+
self.assignmentMethod = assignment_method
|
|
16
|
+
self.sensitivityLabelId = sensitivity_label_id
|
|
17
|
+
self.tenantId = tenant_id
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from office365.onedrive.sensitivitylabels.assignment import SensitivityLabelAssignment
|
|
2
|
+
from office365.runtime.client_value import ClientValue
|
|
3
|
+
from office365.runtime.client_value_collection import ClientValueCollection
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class ExtractSensitivityLabelsResult(ClientValue):
|
|
7
|
+
"""Represents the response format for the extractSensitivityLabels API."""
|
|
8
|
+
|
|
9
|
+
def __init__(self, labels=None):
|
|
10
|
+
"""
|
|
11
|
+
:param list[SensitivityLabelAssignment] labels: List of sensitivity labels assigned to a file.
|
|
12
|
+
"""
|
|
13
|
+
self.labels = ClientValueCollection(SensitivityLabelAssignment, labels)
|
|
@@ -20,6 +20,31 @@ class SharepointSettings(Entity):
|
|
|
20
20
|
"""Collection of file extensions not uploaded by the OneDrive sync app. """
|
|
21
21
|
return self.properties.get("excludedFileExtensionsForSyncApp", StringCollection())
|
|
22
22
|
|
|
23
|
+
@property
|
|
24
|
+
def site_creation_default_managed_path(self):
|
|
25
|
+
"""
|
|
26
|
+
The value of the team site managed path. This is the path under which new team sites will be created.
|
|
27
|
+
:rtype: str
|
|
28
|
+
"""
|
|
29
|
+
return self.properties.get("siteCreationDefaultManagedPath", None)
|
|
30
|
+
|
|
31
|
+
@property
|
|
32
|
+
def site_creation_default_storage_limit_in_mb(self):
|
|
33
|
+
"""
|
|
34
|
+
The default storage quota for a new site upon creation. Measured in megabytes (MB).
|
|
35
|
+
:rtype: int
|
|
36
|
+
"""
|
|
37
|
+
return self.properties.get("siteCreationDefaultStorageLimitInMB", None)
|
|
38
|
+
|
|
39
|
+
@property
|
|
40
|
+
def tenant_default_timezone(self):
|
|
41
|
+
"""
|
|
42
|
+
The default timezone of a tenant for newly created sites. For a list of possible values,
|
|
43
|
+
see SPRegionalSettings.TimeZones property.
|
|
44
|
+
:rtype: str
|
|
45
|
+
"""
|
|
46
|
+
return self.properties.get("tenantDefaultTimezone", None)
|
|
47
|
+
|
|
23
48
|
def get_property(self, name, default_value=None):
|
|
24
49
|
if default_value is None:
|
|
25
50
|
property_mapping = {
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
+
from office365.directory.extensions.extended_property import MultiValueLegacyExtendedProperty, \
|
|
2
|
+
SingleValueLegacyExtendedProperty
|
|
1
3
|
from office365.entity import Entity
|
|
2
4
|
from office365.entity_collection import EntityCollection
|
|
3
5
|
from office365.outlook.calendar.dateTimeTimeZone import DateTimeTimeZone
|
|
4
6
|
from office365.outlook.calendar.email_address import EmailAddress
|
|
5
7
|
from office365.outlook.calendar.events.collection import EventCollection
|
|
6
|
-
from office365.outlook.calendar.
|
|
8
|
+
from office365.outlook.calendar.permissions.collection import CalendarPermissionCollection
|
|
7
9
|
from office365.outlook.calendar.schedule.information import ScheduleInformation
|
|
8
10
|
from office365.runtime.client_result import ClientResult
|
|
9
11
|
from office365.runtime.client_value_collection import ClientValueCollection
|
|
10
12
|
from office365.runtime.paths.resource_path import ResourcePath
|
|
13
|
+
from office365.runtime.queries.function import FunctionQuery
|
|
11
14
|
from office365.runtime.queries.service_operation import ServiceOperationQuery
|
|
15
|
+
from office365.runtime.types.collections import StringCollection
|
|
12
16
|
|
|
13
17
|
|
|
14
18
|
class Calendar(Entity):
|
|
@@ -16,6 +20,17 @@ class Calendar(Entity):
|
|
|
16
20
|
A calendar which is a container for events. It can be a calendar for a user, or the default calendar
|
|
17
21
|
of a Microsoft 365 group.
|
|
18
22
|
"""
|
|
23
|
+
|
|
24
|
+
def allowed_calendar_sharing_roles(self, user):
|
|
25
|
+
"""
|
|
26
|
+
:param str user: User identifier or principal name
|
|
27
|
+
"""
|
|
28
|
+
params = {"user": user}
|
|
29
|
+
return_type = ClientResult(self.context, StringCollection())
|
|
30
|
+
qry = FunctionQuery(self, "allowedCalendarSharingRoles", params, return_type)
|
|
31
|
+
self.context.add_query(qry)
|
|
32
|
+
return return_type
|
|
33
|
+
|
|
19
34
|
def get_schedule(self, schedules, start_time, end_time, availability_view_interval=30):
|
|
20
35
|
"""
|
|
21
36
|
Get the free/busy availability information for a collection of users, distributions lists, or resources
|
|
@@ -39,24 +54,102 @@ class Calendar(Entity):
|
|
|
39
54
|
self.context.add_query(qry)
|
|
40
55
|
return return_type
|
|
41
56
|
|
|
57
|
+
@property
|
|
58
|
+
def allowed_online_meeting_providers(self):
|
|
59
|
+
"""
|
|
60
|
+
Represent the online meeting service providers that can be used to create online meetings in this calendar.
|
|
61
|
+
Possible values are: unknown, skypeForBusiness, skypeForConsumer, teamsForBusiness.
|
|
62
|
+
"""
|
|
63
|
+
return self.properties.get('allowedOnlineMeetingProviders', StringCollection())
|
|
64
|
+
|
|
42
65
|
@property
|
|
43
66
|
def can_edit(self):
|
|
44
67
|
"""
|
|
45
68
|
true if the user can write to the calendar, false otherwise.
|
|
46
69
|
This property is true for the user who created the calendar.
|
|
47
70
|
This property is also true for a user who has been shared a calendar and granted write access.
|
|
48
|
-
|
|
49
71
|
:rtype: bool or None
|
|
50
72
|
"""
|
|
51
73
|
return self.properties.get('canEdit', None)
|
|
52
74
|
|
|
75
|
+
@property
|
|
76
|
+
def can_share(self):
|
|
77
|
+
"""
|
|
78
|
+
true if the user has the permission to share the calendar, false otherwise.
|
|
79
|
+
Only the user who created the calendar can share it.
|
|
80
|
+
:rtype: bool or None
|
|
81
|
+
"""
|
|
82
|
+
return self.properties.get('canShare', None)
|
|
83
|
+
|
|
84
|
+
@property
|
|
85
|
+
def can_view_private_items(self):
|
|
86
|
+
"""
|
|
87
|
+
true if the user can read calendar items that have been marked private, false otherwise.
|
|
88
|
+
:rtype: bool or None
|
|
89
|
+
"""
|
|
90
|
+
return self.properties.get('canViewPrivateItems', None)
|
|
91
|
+
|
|
92
|
+
@property
|
|
93
|
+
def change_key(self):
|
|
94
|
+
"""
|
|
95
|
+
Identifies the version of the calendar object. Every time the calendar is changed, changeKey changes as well.
|
|
96
|
+
This allows Exchange to apply changes to the correct version of the object.
|
|
97
|
+
:rtype: str
|
|
98
|
+
"""
|
|
99
|
+
return self.properties.get('changeKey', None)
|
|
100
|
+
|
|
101
|
+
@property
|
|
102
|
+
def color(self):
|
|
103
|
+
"""
|
|
104
|
+
Specifies the color theme to distinguish the calendar from other calendars in a UI.
|
|
105
|
+
The property values are: auto, lightBlue, lightGreen, lightOrange, lightGray, lightYellow, lightTeal,
|
|
106
|
+
lightPink, lightBrown, lightRed, maxColor.
|
|
107
|
+
:rtype: str
|
|
108
|
+
"""
|
|
109
|
+
return self.properties.get('color', None)
|
|
110
|
+
|
|
111
|
+
@property
|
|
112
|
+
def default_online_meeting_provider(self):
|
|
113
|
+
"""
|
|
114
|
+
The default online meeting provider for meetings sent from this calendar.
|
|
115
|
+
Possible values are: unknown, skypeForBusiness, skypeForConsumer, teamsForBusiness.
|
|
116
|
+
:rtype: str
|
|
117
|
+
"""
|
|
118
|
+
return self.properties.get('defaultOnlineMeetingProvider', None)
|
|
119
|
+
|
|
53
120
|
@property
|
|
54
121
|
def name(self):
|
|
55
122
|
"""
|
|
56
123
|
The calendar name.
|
|
124
|
+
:rtype: str
|
|
57
125
|
"""
|
|
58
126
|
return self.properties.get('name', None)
|
|
59
127
|
|
|
128
|
+
@property
|
|
129
|
+
def is_default_calendar(self):
|
|
130
|
+
"""
|
|
131
|
+
true if this is the default calendar where new events are created by default, false otherwise.
|
|
132
|
+
:rtype: bool or None
|
|
133
|
+
"""
|
|
134
|
+
return self.properties.get('isDefaultCalendar', None)
|
|
135
|
+
|
|
136
|
+
@property
|
|
137
|
+
def is_removable(self):
|
|
138
|
+
"""
|
|
139
|
+
Indicates whether this user calendar can be deleted from the user mailbox.
|
|
140
|
+
:rtype: bool or None
|
|
141
|
+
"""
|
|
142
|
+
return self.properties.get("isRemovable", None)
|
|
143
|
+
|
|
144
|
+
@property
|
|
145
|
+
def is_tallying_responses(self):
|
|
146
|
+
"""
|
|
147
|
+
Indicates whether this user calendar supports tracking of meeting responses.
|
|
148
|
+
Only meeting invites sent from users' primary calendars support tracking of meeting responses.
|
|
149
|
+
:rtype: bool or None
|
|
150
|
+
"""
|
|
151
|
+
return self.properties.get("isTallyingResponses", None)
|
|
152
|
+
|
|
60
153
|
@property
|
|
61
154
|
def owner(self):
|
|
62
155
|
"""If set, this represents the user who created or added the calendar.
|
|
@@ -82,14 +175,32 @@ class Calendar(Entity):
|
|
|
82
175
|
def calendar_permissions(self):
|
|
83
176
|
"""The permissions of the users with whom the calendar is shared."""
|
|
84
177
|
return self.properties.get('calendarPermissions',
|
|
85
|
-
|
|
86
|
-
|
|
178
|
+
CalendarPermissionCollection(self.context,
|
|
179
|
+
ResourcePath("calendarPermissions",
|
|
180
|
+
self.resource_path)))
|
|
181
|
+
|
|
182
|
+
@property
|
|
183
|
+
def multi_value_extended_properties(self):
|
|
184
|
+
"""The collection of multi-value extended properties defined for the Calendar."""
|
|
185
|
+
return self.properties.get('multiValueExtendedProperties',
|
|
186
|
+
EntityCollection(self.context, MultiValueLegacyExtendedProperty,
|
|
187
|
+
ResourcePath("multiValueExtendedProperties", self.resource_path)))
|
|
188
|
+
|
|
189
|
+
@property
|
|
190
|
+
def single_value_extended_properties(self):
|
|
191
|
+
"""The collection of single-value extended properties defined for the calendar. Read-only. Nullable."""
|
|
192
|
+
return self.properties.get('singleValueExtendedProperties',
|
|
193
|
+
EntityCollection(self.context, SingleValueLegacyExtendedProperty,
|
|
194
|
+
ResourcePath("singleValueExtendedProperties", self.resource_path)))
|
|
87
195
|
|
|
88
196
|
def get_property(self, name, default_value=None):
|
|
89
197
|
if default_value is None:
|
|
90
198
|
property_mapping = {
|
|
199
|
+
"allowedOnlineMeetingProviders": self.allowed_online_meeting_providers,
|
|
91
200
|
"calendarView": self.calendar_view,
|
|
92
|
-
"calendarPermissions": self.calendar_permissions
|
|
201
|
+
"calendarPermissions": self.calendar_permissions,
|
|
202
|
+
"multiValueExtendedProperties": self.multi_value_extended_properties,
|
|
203
|
+
"singleValueExtendedProperties": self.single_value_extended_properties
|
|
93
204
|
}
|
|
94
205
|
default_value = property_mapping.get(name, None)
|
|
95
206
|
return super(Calendar, self).get_property(name, default_value)
|
|
@@ -5,6 +5,13 @@ class EmailAddress(ClientValue):
|
|
|
5
5
|
"""The name and email address of a contact or message recipient."""
|
|
6
6
|
|
|
7
7
|
def __init__(self, address=None, name=None):
|
|
8
|
+
"""
|
|
9
|
+
:param str address:
|
|
10
|
+
:param str name:
|
|
11
|
+
"""
|
|
8
12
|
super(EmailAddress, self).__init__()
|
|
9
13
|
self.address = address
|
|
10
14
|
self.name = name
|
|
15
|
+
|
|
16
|
+
def __repr__(self):
|
|
17
|
+
return "{0} <{1}>".format(self.name, self.address)
|