Office365-REST-Python-Client 2.5.13__py3-none-any.whl → 2.6.0__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.5.13.dist-info → Office365_REST_Python_Client-2.6.0.dist-info}/METADATA +2 -2
- {Office365_REST_Python_Client-2.5.13.dist-info → Office365_REST_Python_Client-2.6.0.dist-info}/RECORD +324 -169
- office365/admin/admin.py +69 -0
- office365/admin/microsoft365_apps.py +5 -0
- office365/admin/people_settings.py +5 -0
- office365/admin/report_settings.py +5 -0
- office365/{onedrive → admin}/sharepoint.py +1 -1
- office365/azure_env.py +60 -0
- office365/booking/business/business.py +13 -0
- office365/booking/business/collection.py +8 -4
- office365/communications/callrecords/collection.py +42 -0
- office365/communications/callrecords/direct_routing_log_row.py +5 -0
- office365/communications/cloud_communications.py +2 -3
- office365/directory/applications/app_ids.py +6 -0
- office365/directory/applications/application.py +16 -2
- office365/directory/applications/required_resource_access.py +23 -0
- office365/directory/applications/resource_access.py +26 -0
- office365/directory/authentication/authentication.py +16 -0
- office365/directory/authentication/method_target.py +2 -1
- office365/directory/authentication/methods/details.py +29 -0
- office365/directory/authentication/methods/microsoft_authenticator.py +6 -0
- office365/directory/authentication/methods/root.py +19 -0
- office365/directory/authentication/methods/sms.py +9 -0
- office365/directory/certificates/self_signed.py +31 -2
- office365/directory/identities/conditional_access_root.py +14 -0
- office365/directory/identitygovernance/privilegedaccess/approval.py +8 -0
- office365/directory/identitygovernance/privilegedaccess/group.py +30 -0
- office365/directory/identitygovernance/privilegedaccess/group_assignment_schedule_instance.py +7 -0
- office365/directory/identitygovernance/privilegedaccess/unified_role_assignment_schedule_request.py +7 -0
- office365/directory/identitygovernance/userconsent/request_collection.py +10 -0
- office365/directory/identitygovernance/workflow/__init__.py +0 -0
- office365/directory/identitygovernance/workflow/base.py +5 -0
- office365/directory/permissions/scope.py +15 -3
- office365/directory/policies/authentication_strength.py +21 -0
- office365/directory/policies/cross_tenant_access.py +13 -0
- office365/directory/policies/feature_rollout.py +16 -0
- office365/directory/policies/root.py +39 -23
- office365/directory/policies/template.py +5 -0
- office365/directory/policies/update_allowed_combinations_result.py +5 -0
- office365/directory/protection/threatassessment/email_file_request.py +20 -0
- office365/directory/protection/threatassessment/request.py +25 -0
- office365/directory/rolemanagement/application.py +15 -0
- office365/directory/rolemanagement/resource_action.py +8 -4
- office365/directory/rolemanagement/role_permission.py +3 -3
- office365/directory/security/alerts/collection.py +49 -0
- office365/directory/security/alerts/evidence.py +2 -1
- office365/directory/security/alerts/malware_evidence.py +5 -0
- office365/directory/security/alerts/process_evidence.py +5 -0
- office365/directory/security/attacksimulations/user.py +5 -0
- office365/directory/security/attacksimulations/user_coverage.py +3 -0
- office365/directory/security/attacksimulations/users/details.py +6 -1
- office365/directory/security/scorecontrol/__init__.py +0 -0
- office365/directory/security/scorecontrol/profile.py +6 -0
- office365/directory/security/security.py +17 -4
- office365/directory/serviceprincipals/service_principal.py +112 -55
- office365/directory/tenantinformation/__init__.py +0 -0
- office365/directory/tenantinformation/multi_organization.py +11 -0
- office365/directory/tenantinformation/relationship.py +61 -0
- office365/directory/users/insights_settings.py +5 -0
- office365/graph_client.py +52 -132
- office365/graph_request.py +78 -19
- office365/intune/servicecommunications/health/health.py +1 -1
- office365/intune/servicecommunications/issues/issue.py +2 -2
- office365/onedrive/columns/definition.py +1 -1
- office365/onedrive/contenttypes/content_type.py +1 -1
- office365/onedrive/driveitems/driveItem.py +14 -2
- office365/onedrive/driveitems/retention_label.py +33 -0
- office365/onedrive/driveitems/retention_label_settings.py +7 -0
- office365/onedrive/drives/drive.py +1 -1
- office365/onedrive/filestorage/__init__.py +0 -0
- office365/onedrive/filestorage/container.py +7 -0
- office365/onedrive/filestorage/file_storage.py +20 -0
- office365/onedrive/listitems/field_value_set.py +1 -1
- office365/onedrive/listitems/list_item.py +1 -1
- office365/onedrive/lists/list.py +1 -1
- office365/onedrive/recyclebin/__init__.py +0 -0
- office365/onedrive/recyclebin/item.py +6 -0
- office365/onedrive/recyclebin/recyclebin.py +29 -0
- office365/onedrive/recyclebin/settings.py +13 -0
- office365/onedrive/shares/drive_item.py +1 -1
- office365/onedrive/sitepages/base.py +4 -1
- office365/onedrive/sitepages/canvas_layout.py +2 -2
- office365/onedrive/sitepages/collection.py +12 -0
- office365/onedrive/sitepages/sections/__init__.py +0 -0
- office365/onedrive/sitepages/{horizontal_section.py → sections/horizontal.py} +1 -1
- office365/onedrive/sitepages/site_page.py +9 -9
- office365/onedrive/sitepages/webparts/data.py +5 -0
- office365/onedrive/sitepages/webparts/position.py +5 -0
- office365/onedrive/sitepages/webparts/standard.py +9 -0
- office365/onedrive/sitepages/webparts/web_part.py +12 -0
- office365/onedrive/sites/archival_details.py +5 -0
- office365/onedrive/sites/site.py +1 -1
- office365/onedrive/sites/site_collection.py +10 -1
- office365/onedrive/storage/storage.py +10 -0
- office365/onedrive/workbooks/charts/axes.py +41 -1
- office365/onedrive/workbooks/charts/axis.py +5 -0
- office365/onedrive/workbooks/charts/chart.py +64 -5
- office365/onedrive/workbooks/charts/fill.py +5 -0
- office365/onedrive/workbooks/charts/font.py +5 -0
- office365/onedrive/workbooks/charts/legend/__init__.py +0 -0
- office365/onedrive/workbooks/charts/legend/format.py +5 -0
- office365/onedrive/workbooks/charts/legend/legend.py +26 -0
- office365/onedrive/workbooks/charts/point.py +5 -0
- office365/onedrive/workbooks/charts/series/__init__.py +0 -0
- office365/onedrive/workbooks/charts/series/format.py +5 -0
- office365/onedrive/workbooks/charts/series/series.py +31 -0
- office365/onedrive/workbooks/charts/title.py +5 -0
- office365/onedrive/workbooks/filter.py +10 -0
- office365/onedrive/workbooks/filter_criteria.py +3 -3
- office365/onedrive/workbooks/functions/functions.py +23 -0
- office365/onedrive/workbooks/ranges/fill.py +11 -1
- office365/onedrive/workbooks/ranges/range.py +26 -0
- office365/onedrive/workbooks/ranges/view.py +14 -0
- office365/onedrive/workbooks/sort_field.py +8 -3
- office365/onedrive/workbooks/tables/sort.py +20 -0
- office365/onedrive/workbooks/worksheets/worksheet.py +11 -0
- office365/partners/__init__.py +0 -0
- office365/partners/billing/__init__.py +0 -0
- office365/partners/billing/azure_usage.py +17 -0
- office365/partners/billing/billed_usage.py +21 -0
- office365/partners/billing/billing.py +17 -0
- office365/partners/billing/operation.py +5 -0
- office365/partners/partners.py +17 -0
- office365/planner/tasks/check_list_item.py +5 -1
- office365/reports/root.py +9 -0
- office365/reports/userregistration/feature_summary.py +5 -0
- office365/runtime/auth/auth_cookies.py +48 -0
- office365/runtime/auth/authentication_context.py +36 -19
- office365/runtime/auth/entra/__init__.py +0 -0
- office365/runtime/auth/entra/authentication_context.py +165 -0
- office365/runtime/auth/providers/acs_token_provider.py +12 -27
- office365/runtime/auth/providers/saml_token_provider.py +41 -54
- office365/runtime/auth/sts_profile.py +8 -8
- office365/runtime/auth/token_response.py +4 -0
- office365/runtime/client_object.py +15 -7
- office365/runtime/client_object_collection.py +2 -2
- office365/runtime/client_result.py +2 -0
- office365/runtime/client_value.py +1 -1
- office365/runtime/csom/request.py +11 -0
- office365/runtime/types/exceptions.py +18 -0
- office365/search/acronym.py +10 -0
- office365/search/aggregation_option.py +6 -0
- office365/search/answer.py +9 -0
- office365/search/entity.py +67 -14
- office365/search/entity_type.py +28 -0
- office365/search/request.py +32 -3
- office365/sharepoint/administration/custom_fonts_resource.py +5 -0
- office365/sharepoint/administration/sitemove/__init__.py +0 -0
- office365/sharepoint/administration/sitemove/service.py +68 -0
- office365/sharepoint/administration/sitemove/service_info.py +11 -0
- office365/sharepoint/apps/access_requests.py +5 -0
- office365/sharepoint/apps/management/__init__.py +0 -0
- office365/sharepoint/apps/management/principal_info.py +9 -0
- office365/sharepoint/authpolicy/events/collection.py +28 -0
- office365/sharepoint/authpolicy/events/role_assignment_resource_payload.py +4 -0
- office365/sharepoint/changes/item.py +15 -0
- office365/sharepoint/client_context.py +61 -37
- office365/sharepoint/directory/group.py +2 -0
- office365/sharepoint/directory/helper.py +2 -0
- office365/sharepoint/directory/provider/provider.py +6 -0
- office365/sharepoint/directory/user.py +20 -0
- office365/sharepoint/documentmanagement/document_id.py +28 -3
- office365/sharepoint/files/file.py +11 -4
- office365/sharepoint/files/publish/__init__.py +0 -0
- office365/sharepoint/files/publish/status.py +9 -0
- office365/sharepoint/files/versions/event.py +9 -0
- office365/sharepoint/flows/connector_result.py +17 -0
- office365/sharepoint/flows/permissions.py +34 -0
- office365/sharepoint/fontpackages/__init__.py +0 -0
- office365/sharepoint/fontpackages/collection.py +26 -0
- office365/sharepoint/fontpackages/creation_parameters.py +5 -0
- office365/sharepoint/fontpackages/font_package.py +5 -0
- office365/sharepoint/fontpackages/oob_settings.py +5 -0
- office365/sharepoint/forms/customization.py +26 -0
- office365/sharepoint/ir/__init__.py +0 -0
- office365/sharepoint/ir/migration.py +5 -0
- office365/sharepoint/listhome/favorite_item.py +9 -0
- office365/sharepoint/listitems/listitem.py +79 -4
- office365/sharepoint/listitems/update_parameters.py +4 -1
- office365/sharepoint/lists/data_parameters.py +5 -0
- office365/sharepoint/lists/exporter.py +73 -0
- office365/sharepoint/lists/list.py +177 -60
- office365/sharepoint/lists/render_data_parameters.py +31 -0
- office365/sharepoint/lists/version_policy_manager.py +5 -0
- office365/sharepoint/marketplace/app_metadata.py +12 -1
- office365/sharepoint/marketplace/app_metadata_collection.py +8 -0
- office365/sharepoint/marketplace/corporatecuratedgallery/addins/instance_info.py +22 -0
- office365/sharepoint/marketplace/corporatecuratedgallery/addins/permission_failed_info.py +5 -0
- office365/sharepoint/marketplace/corporatecuratedgallery/addins/permission_info.py +12 -0
- office365/sharepoint/marketplace/corporatecuratedgallery/addins/permission_response.py +15 -0
- office365/sharepoint/marketplace/corporatecuratedgallery/addins/principals_response.py +5 -0
- office365/sharepoint/marketplace/corporatecuratedgallery/app_request_information.py +9 -0
- office365/sharepoint/marketplace/corporatecuratedgallery/app_response_information.py +9 -0
- office365/sharepoint/marketplace/corporatecuratedgallery/available_addins_response.py +4 -0
- office365/sharepoint/marketplace/corporatecuratedgallery/card_design.py +9 -0
- office365/sharepoint/marketplace/corporatecuratedgallery/card_designs.py +9 -0
- office365/sharepoint/marketplace/corporatecuratedgallery/teams_package_download.py +14 -0
- office365/sharepoint/marketplace/tenant/appcatalog/accessor.py +62 -3
- office365/sharepoint/migration/copy_migration_options.py +5 -0
- office365/sharepoint/multigeo/services.py +14 -0
- office365/sharepoint/multigeo/storage_quota.py +9 -0
- office365/sharepoint/policy/license_utilities.py +27 -0
- office365/sharepoint/portal/groups/site_manager.py +32 -0
- office365/sharepoint/portal/project/__init__.py +9 -0
- office365/sharepoint/portal/userprofiles/documentsshared/__init__.py +0 -0
- office365/sharepoint/portal/userprofiles/documentsshared/with_group.py +38 -0
- office365/sharepoint/portal/userprofiles/documentsshared/with_person.py +9 -0
- office365/sharepoint/portal/userprofiles/sharedwithme/__init__.py +0 -0
- office365/sharepoint/{userprofiles → portal/userprofiles}/sharedwithme/document.py +1 -1
- office365/sharepoint/{userprofiles → portal/userprofiles}/sharedwithme/items.py +3 -1
- office365/sharepoint/principal/principal.py +6 -0
- office365/sharepoint/publishing/pages/coauth_state.py +8 -0
- office365/sharepoint/publishing/pages/page.py +11 -0
- office365/sharepoint/publishing/pages/stream_content.py +9 -0
- office365/sharepoint/publishing/pages/stream_data.py +8 -0
- office365/sharepoint/quotamanagement/consumer/non_quota_backfill_api.py +8 -0
- office365/sharepoint/request.py +98 -10
- office365/sharepoint/search/administration/document_crawl_log.py +16 -2
- office365/sharepoint/search/administration/site_content_processing_info_provider.py +11 -0
- office365/sharepoint/search/administration/tenant_crawl_versions_info_provider.py +1 -1
- office365/sharepoint/search/ranking_labeling.py +1 -0
- office365/sharepoint/search/reports/abandoned_queries.py +11 -1
- office365/sharepoint/search/reports/abandonedqueries/__init__.py +0 -0
- office365/sharepoint/search/reports/abandonedqueries/data.py +0 -0
- office365/sharepoint/search/reports/abandonedqueries/item.py +11 -0
- office365/sharepoint/search/reports/noresult/__init__.py +0 -0
- office365/sharepoint/search/reports/numberofqueries/__init__.py +0 -0
- office365/sharepoint/search/reports/top_queries.py +7 -0
- office365/sharepoint/search/reports/topqueries/__init__.py +0 -0
- office365/sharepoint/search/reports/topqueries/data.py +9 -0
- office365/sharepoint/search/reports/topqueries/item.py +15 -0
- office365/sharepoint/search/scs_endpoint.py +9 -0
- office365/sharepoint/securestore/target_application.py +8 -0
- office365/sharepoint/sharing/document_manager.py +3 -3
- office365/sharepoint/sharing/domain_restriction_settings.py +5 -0
- office365/sharepoint/sharing/information.py +12 -0
- office365/sharepoint/sharing/result.py +21 -0
- office365/sharepoint/sitehealth/result.py +4 -4
- office365/sharepoint/sitehealth/summary.py +5 -5
- office365/sharepoint/sites/copy_job_progress.py +5 -0
- office365/sharepoint/sites/copy_migration_iInfo.py +5 -0
- office365/sharepoint/sites/home/__init__.py +0 -0
- office365/sharepoint/sites/{sph_site.py → home/site.py} +1 -1
- office365/sharepoint/sites/html_field_security_setting.py +5 -0
- office365/sharepoint/sites/site.py +56 -2
- office365/sharepoint/sites/version_policy_manager.py +25 -0
- office365/sharepoint/sitescripts/metadata.py +28 -3
- office365/sharepoint/sitescripts/utility.py +17 -0
- office365/sharepoint/smartcache/__init__.py +0 -0
- office365/sharepoint/smartcache/item.py +9 -0
- office365/sharepoint/tenant/administration/app_service_principal_public.py +17 -0
- office365/sharepoint/tenant/administration/audit/data.py +12 -0
- office365/sharepoint/tenant/administration/audit/unified_record.py +18 -0
- office365/sharepoint/tenant/administration/coms/__init__.py +0 -0
- office365/sharepoint/tenant/administration/coms/messages_fields_data.py +5 -0
- office365/sharepoint/tenant/administration/coms/messages_service_proxy.py +16 -0
- office365/sharepoint/tenant/administration/copilot/__init__.py +0 -0
- office365/sharepoint/tenant/administration/copilot/adaptive_card_config.py +11 -0
- office365/sharepoint/tenant/administration/datagovernance/__init__.py +0 -0
- office365/sharepoint/tenant/administration/{internal/permission_grant.py → datagovernance/client_base.py} +4 -2
- office365/sharepoint/tenant/administration/datagovernance/insight_client.py +82 -0
- office365/sharepoint/tenant/administration/datagovernance/insight_metadata.py +5 -0
- office365/sharepoint/tenant/administration/default_time_zone_id.py +11 -0
- office365/sharepoint/tenant/administration/endpoints.py +53 -2
- office365/sharepoint/tenant/administration/insights/onedrive_site_sharing.py +4 -0
- office365/sharepoint/tenant/administration/insights/summary_response.py +8 -0
- office365/sharepoint/tenant/administration/internal/aad/__init__.py +0 -0
- office365/sharepoint/tenant/administration/internal/aad/permission_grant.py +32 -0
- office365/sharepoint/tenant/administration/internal/appservice/__init__.py +0 -0
- office365/sharepoint/tenant/administration/internal/appservice/permission_grant.py +5 -0
- office365/sharepoint/tenant/administration/internal/appservice/permission_request.py +13 -0
- office365/sharepoint/tenant/administration/internal/appservice/principal.py +104 -0
- office365/sharepoint/tenant/administration/malware/__init__.py +0 -0
- office365/sharepoint/tenant/administration/malware/file.py +18 -0
- office365/sharepoint/tenant/administration/modified_property.py +5 -0
- office365/sharepoint/tenant/administration/policies/app_billing_properties.py +21 -0
- office365/sharepoint/tenant/administration/policies/content_security_configuration.py +9 -0
- office365/sharepoint/tenant/administration/recent_action.py +9 -0
- office365/sharepoint/tenant/administration/reports/__init__.py +0 -0
- office365/sharepoint/tenant/administration/settings_service.py +42 -6
- office365/sharepoint/tenant/administration/sites/creation_source.py +8 -8
- office365/sharepoint/tenant/administration/sites/properties.py +78 -0
- office365/sharepoint/tenant/administration/sites/properties_collection.py +19 -0
- office365/sharepoint/tenant/administration/tenant.py +241 -8
- office365/sharepoint/tenant/administration/types.py +89 -2
- office365/sharepoint/tenant/cdn_api.py +3 -1
- office365/sharepoint/tenant/insights/report_manager.py +29 -0
- office365/sharepoint/tenant/management/office365_tenant.py +9 -4
- office365/sharepoint/tenant/settings.py +10 -0
- office365/sharepoint/translation/job_status.py +22 -0
- office365/sharepoint/userprofiles/user_profile.py +6 -0
- office365/sharepoint/utilities/utility.py +6 -0
- office365/sharepoint/viva/connections_page.py +8 -0
- office365/sharepoint/viva/dashboard_configuration.py +8 -0
- office365/sharepoint/viva/employee_engagement.py +39 -1
- office365/sharepoint/viva/resource_get_endpoint.py +8 -0
- office365/sharepoint/viva/resource_link.py +8 -0
- office365/sharepoint/webparts/tile_data.py +21 -0
- office365/sharepoint/webs/dataleakage_prevention_status_info.py +5 -0
- office365/sharepoint/webs/information.py +66 -1
- office365/sharepoint/webs/regional_settings.py +32 -0
- office365/sharepoint/webs/templates/__init__.py +0 -0
- office365/sharepoint/webs/time_zone.py +1 -1
- office365/sharepoint/webs/web.py +137 -0
- office365/sharepoint/workflow/task.py +5 -0
- office365/subscriptions/collection.py +16 -0
- office365/teams/chats/event_message_detail.py +8 -0
- office365/teams/deleted.py +24 -0
- office365/teams/work.py +35 -0
- office365/directory/tenant_relationship.py +0 -23
- office365/onedrive/admin.py +0 -32
- office365/onedrive/workbooks/charts/legend.py +0 -7
- office365/onedrive/workbooks/charts/series.py +0 -5
- office365/sharepoint/portal/userprofiles/documents_shared_with_group.py +0 -11
- office365/sharepoint/tenant/administration/internal/web_appservice_principal.py +0 -23
- {Office365_REST_Python_Client-2.5.13.dist-info → Office365_REST_Python_Client-2.6.0.dist-info}/LICENSE +0 -0
- {Office365_REST_Python_Client-2.5.13.dist-info → Office365_REST_Python_Client-2.6.0.dist-info}/WHEEL +0 -0
- {Office365_REST_Python_Client-2.5.13.dist-info → Office365_REST_Python_Client-2.6.0.dist-info}/top_level.txt +0 -0
- /office365/{sharepoint/userprofiles/sharedwithme → admin}/__init__.py +0 -0
- /office365/{onedrive → admin}/sharepoint_settings.py +0 -0
- /office365/directory/{tenant_information.py → tenantinformation/information.py} +0 -0
- /office365/{base_item.py → onedrive/base_item.py} +0 -0
- /office365/onedrive/sitepages/{horizontal_section_column.py → sections/horizontal_column.py} +0 -0
- /office365/onedrive/sitepages/{vertical_section.py → sections/vertical.py} +0 -0
- /office365/sharepoint/portal/userprofiles/{documents_shared_with_me.py → documentsshared/with_me.py} +0 -0
- /office365/sharepoint/{userprofiles → portal/userprofiles}/sharedwithme/document_user.py +0 -0
- /office365/sharepoint/{userprofiles → portal/userprofiles}/sharedwithme/item_collection.py +0 -0
- /office365/sharepoint/{userprofiles → portal/userprofiles}/sharedwithme/view_item_removal_result.py +0 -0
- /office365/sharepoint/sites/{home_sites_details.py → home/details.py} +0 -0
- /office365/sharepoint/sites/{home_site_reference.py → home/reference.py} +0 -0
|
@@ -41,8 +41,15 @@ from office365.sharepoint.webs.web import Web
|
|
|
41
41
|
class ClientContext(ClientRuntimeContext):
|
|
42
42
|
"""SharePoint client context (SharePoint v1 API)"""
|
|
43
43
|
|
|
44
|
-
def __init__(
|
|
45
|
-
|
|
44
|
+
def __init__(
|
|
45
|
+
self,
|
|
46
|
+
base_url,
|
|
47
|
+
auth_context=None,
|
|
48
|
+
environment=None,
|
|
49
|
+
allow_ntlm=False,
|
|
50
|
+
browser_mode=False,
|
|
51
|
+
):
|
|
52
|
+
# type: (str, Optional[AuthenticationContext], str, bool, bool) -> None
|
|
46
53
|
"""
|
|
47
54
|
Instantiates a SharePoint client context
|
|
48
55
|
|
|
@@ -51,7 +58,12 @@ class ClientContext(ClientRuntimeContext):
|
|
|
51
58
|
"""
|
|
52
59
|
super(ClientContext, self).__init__()
|
|
53
60
|
if auth_context is None:
|
|
54
|
-
auth_context = AuthenticationContext(
|
|
61
|
+
auth_context = AuthenticationContext(
|
|
62
|
+
url=base_url,
|
|
63
|
+
environment=environment,
|
|
64
|
+
allow_ntlm=allow_ntlm,
|
|
65
|
+
browser_mode=browser_mode,
|
|
66
|
+
)
|
|
55
67
|
self._auth_context = auth_context
|
|
56
68
|
self._web = None
|
|
57
69
|
self._site = None
|
|
@@ -138,36 +150,18 @@ class ClientContext(ClientRuntimeContext):
|
|
|
138
150
|
self.authentication_context.with_access_token(token_func)
|
|
139
151
|
return self
|
|
140
152
|
|
|
141
|
-
def with_user_credentials(
|
|
142
|
-
|
|
143
|
-
username,
|
|
144
|
-
password,
|
|
145
|
-
allow_ntlm=False,
|
|
146
|
-
browser_mode=False,
|
|
147
|
-
environment="commercial",
|
|
148
|
-
):
|
|
149
|
-
# type: (str, str, bool, bool, Optional[str]) -> Self
|
|
153
|
+
def with_user_credentials(self, username, password):
|
|
154
|
+
# type: (str, str) -> Self
|
|
150
155
|
"""
|
|
151
156
|
Initializes a client to acquire a token via user credentials.
|
|
152
157
|
:param str username: Typically, a UPN in the form of an email address
|
|
153
158
|
:param str password: The password
|
|
154
|
-
:param bool allow_ntlm: Flag indicates whether NTLM scheme is enabled. Disabled by default
|
|
155
|
-
:param bool browser_mode:
|
|
156
|
-
:param str environment: The Office 365 Cloud Environment endpoint used for authentication
|
|
157
|
-
defaults to 'commercial'.
|
|
158
159
|
"""
|
|
159
|
-
self.authentication_context.with_credentials(
|
|
160
|
-
UserCredential(username, password),
|
|
161
|
-
allow_ntlm=allow_ntlm,
|
|
162
|
-
browser_mode=browser_mode,
|
|
163
|
-
environment=environment,
|
|
164
|
-
)
|
|
160
|
+
self.authentication_context.with_credentials(UserCredential(username, password))
|
|
165
161
|
return self
|
|
166
162
|
|
|
167
|
-
def with_client_credentials(
|
|
168
|
-
|
|
169
|
-
):
|
|
170
|
-
# type: (str, str, Optional[str]) -> Self
|
|
163
|
+
def with_client_credentials(self, client_id, client_secret):
|
|
164
|
+
# type: (str, str) -> Self
|
|
171
165
|
"""
|
|
172
166
|
Initializes a client to acquire a token via client credentials (SharePoint App-Only)
|
|
173
167
|
|
|
@@ -176,25 +170,19 @@ class ClientContext(ClientRuntimeContext):
|
|
|
176
170
|
|
|
177
171
|
:param str client_id: The OAuth client id of the calling application
|
|
178
172
|
:param str client_secret: Secret string that the application uses to prove its identity when requesting a token
|
|
179
|
-
:param str environment: The Office 365 Cloud Environment endpoint used for authentication
|
|
180
|
-
defaults to 'commercial'.
|
|
181
173
|
"""
|
|
182
174
|
self.authentication_context.with_credentials(
|
|
183
|
-
ClientCredential(client_id, client_secret)
|
|
175
|
+
ClientCredential(client_id, client_secret)
|
|
184
176
|
)
|
|
185
177
|
return self
|
|
186
178
|
|
|
187
|
-
def with_credentials(self, credentials
|
|
188
|
-
# type: (UserCredential|ClientCredential
|
|
179
|
+
def with_credentials(self, credentials):
|
|
180
|
+
# type: (UserCredential|ClientCredential) -> Self
|
|
189
181
|
"""
|
|
190
182
|
Initializes a client to acquire a token via user or client credentials
|
|
191
183
|
:type credentials: UserCredential or ClientCredential
|
|
192
|
-
:param str environment: The Office 365 Cloud Environment endpoint used for authentication
|
|
193
|
-
defaults to 'commercial'.
|
|
194
184
|
"""
|
|
195
|
-
self.authentication_context.with_credentials(
|
|
196
|
-
credentials, environment=environment
|
|
197
|
-
)
|
|
185
|
+
self.authentication_context.with_credentials(credentials)
|
|
198
186
|
return self
|
|
199
187
|
|
|
200
188
|
def execute_batch(self, items_per_batch=100, success_callback=None):
|
|
@@ -498,6 +486,22 @@ class ClientContext(ClientRuntimeContext):
|
|
|
498
486
|
|
|
499
487
|
return FolderColoring(self, ResourcePath("foldercoloring"))
|
|
500
488
|
|
|
489
|
+
@property
|
|
490
|
+
def font_packages(self):
|
|
491
|
+
"""Alias to FontPackageCollection"""
|
|
492
|
+
|
|
493
|
+
from office365.sharepoint.fontpackages.collection import FontPackageCollection
|
|
494
|
+
|
|
495
|
+
return FontPackageCollection(self, ResourcePath("fontpackages"))
|
|
496
|
+
|
|
497
|
+
@property
|
|
498
|
+
def site_font_packages(self):
|
|
499
|
+
"""Alias to FontPackageCollection"""
|
|
500
|
+
|
|
501
|
+
from office365.sharepoint.fontpackages.collection import FontPackageCollection
|
|
502
|
+
|
|
503
|
+
return FontPackageCollection(self, ResourcePath("sitefontpackages"))
|
|
504
|
+
|
|
501
505
|
@property
|
|
502
506
|
def group_site_manager(self):
|
|
503
507
|
"""Alias to GroupSiteManager"""
|
|
@@ -542,6 +546,16 @@ class ClientContext(ClientRuntimeContext):
|
|
|
542
546
|
|
|
543
547
|
return ProfileLoader(self)
|
|
544
548
|
|
|
549
|
+
@property
|
|
550
|
+
def document_crawl_log(self):
|
|
551
|
+
"""Alias to DocumentCrawlLog"""
|
|
552
|
+
|
|
553
|
+
from office365.sharepoint.search.administration.document_crawl_log import (
|
|
554
|
+
DocumentCrawlLog,
|
|
555
|
+
)
|
|
556
|
+
|
|
557
|
+
return DocumentCrawlLog(self)
|
|
558
|
+
|
|
545
559
|
@property
|
|
546
560
|
def lists(self):
|
|
547
561
|
"""Alias to ListCollection. Gets information about all lists that the current user can access."""
|
|
@@ -636,7 +650,7 @@ class ClientContext(ClientRuntimeContext):
|
|
|
636
650
|
@property
|
|
637
651
|
def home_site(self):
|
|
638
652
|
"""Alias to SPHSite."""
|
|
639
|
-
from office365.sharepoint.sites.
|
|
653
|
+
from office365.sharepoint.sites.home.site import SPHSite
|
|
640
654
|
|
|
641
655
|
return SPHSite(self, ResourcePath("SPHSite"))
|
|
642
656
|
|
|
@@ -661,8 +675,17 @@ class ClientContext(ClientRuntimeContext):
|
|
|
661
675
|
self, SPMachineLearningPublication, ResourcePath("publications")
|
|
662
676
|
)
|
|
663
677
|
|
|
678
|
+
@property
|
|
679
|
+
def server_settings(self):
|
|
680
|
+
"""Provides methods for obtaining server properties"""
|
|
681
|
+
|
|
682
|
+
from office365.sharepoint.server_settings import ServerSettings
|
|
683
|
+
|
|
684
|
+
return ServerSettings(self)
|
|
685
|
+
|
|
664
686
|
@property
|
|
665
687
|
def social_following_manager(self):
|
|
688
|
+
""" """
|
|
666
689
|
from office365.sharepoint.social.following.manager import SocialFollowingManager
|
|
667
690
|
|
|
668
691
|
return SocialFollowingManager(self)
|
|
@@ -697,6 +720,7 @@ class ClientContext(ClientRuntimeContext):
|
|
|
697
720
|
|
|
698
721
|
@property
|
|
699
722
|
def viva_site_manager(self):
|
|
723
|
+
""""""
|
|
700
724
|
from office365.sharepoint.viva.site_manager import VivaSiteManager
|
|
701
725
|
|
|
702
726
|
return VivaSiteManager(self)
|
|
@@ -88,6 +88,8 @@ class SPHelper(Entity):
|
|
|
88
88
|
@staticmethod
|
|
89
89
|
def get_my_groups(context, logon_name, offset, length, return_type=None):
|
|
90
90
|
"""
|
|
91
|
+
Retrieves information about groups that a user belongs to.
|
|
92
|
+
|
|
91
93
|
:param office365.sharepoint.client_context.ClientContext context: SharePoint context
|
|
92
94
|
:param str logon_name: User's login
|
|
93
95
|
:param int offset: Result offset
|
|
@@ -13,6 +13,12 @@ class SharePointDirectoryProvider(Entity):
|
|
|
13
13
|
)
|
|
14
14
|
super(SharePointDirectoryProvider, self).__init__(context, resource_path)
|
|
15
15
|
|
|
16
|
+
def check_site_availability(self, site_url):
|
|
17
|
+
""""""
|
|
18
|
+
from office365.sharepoint.directory.helper import SPHelper
|
|
19
|
+
|
|
20
|
+
return SPHelper.check_site_availability(self.context, site_url)
|
|
21
|
+
|
|
16
22
|
def read_directory_object(self, data):
|
|
17
23
|
# type: (DirectoryObjectData) -> ClientResult[DirectoryObjectData]
|
|
18
24
|
""""""
|
|
@@ -1,10 +1,27 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
1
3
|
from office365.runtime.client_result import ClientResult
|
|
2
4
|
from office365.sharepoint.directory.my_groups_result import MyGroupsResult
|
|
3
5
|
from office365.sharepoint.entity import Entity
|
|
4
6
|
|
|
5
7
|
|
|
6
8
|
class User(Entity):
|
|
9
|
+
"""Represents a user in the SharePoint Directory"""
|
|
10
|
+
|
|
11
|
+
@property
|
|
12
|
+
def about_me(self):
|
|
13
|
+
# type: () -> Optional[str]
|
|
14
|
+
"""Stores a short description or bio of the user."""
|
|
15
|
+
return self.properties.get("aboutMe", None)
|
|
16
|
+
|
|
17
|
+
@property
|
|
18
|
+
def account_enabled(self):
|
|
19
|
+
# type: () -> Optional[bool]
|
|
20
|
+
"""Gets weather the account is active (user can log in and access services) or not"""
|
|
21
|
+
return self.properties.get("accountEnabled", None)
|
|
22
|
+
|
|
7
23
|
def is_member_of(self, group_id):
|
|
24
|
+
# type: (str) -> ClientResult[bool]
|
|
8
25
|
return_type = ClientResult(self.context)
|
|
9
26
|
|
|
10
27
|
def _user_loaded():
|
|
@@ -18,6 +35,9 @@ class User(Entity):
|
|
|
18
35
|
return return_type
|
|
19
36
|
|
|
20
37
|
def get_my_groups(self):
|
|
38
|
+
"""
|
|
39
|
+
Retrieves information about groups that a user belongs to.
|
|
40
|
+
"""
|
|
21
41
|
return_type = MyGroupsResult(self.context)
|
|
22
42
|
|
|
23
43
|
def _user_loaded():
|
|
@@ -31,22 +31,47 @@ class DocumentId(Entity):
|
|
|
31
31
|
self.context.add_query(qry)
|
|
32
32
|
return self
|
|
33
33
|
|
|
34
|
-
def
|
|
34
|
+
def reset_doc_ids_in_library(self, decoded_url, content_type_id=None):
|
|
35
35
|
"""
|
|
36
36
|
Performs the same function as ResetDocIdByServerRelativePath (section 3.1.5.10.2.1.1), but for every
|
|
37
37
|
document in the specified document library.
|
|
38
38
|
|
|
39
39
|
:param str decoded_url: Server relative path to the document library, for which all document identifiers
|
|
40
40
|
MUST be reset to guarantee global uniqueness in the farm.
|
|
41
|
-
:param str content_type_id: The content type identifier.
|
|
41
|
+
:param str or None content_type_id: The content type identifier.
|
|
42
42
|
"""
|
|
43
|
-
payload = {"
|
|
43
|
+
payload = {"decodedUrl": decoded_url, "contentTypeId": content_type_id}
|
|
44
44
|
qry = ServiceOperationQuery(
|
|
45
45
|
self, "ResetDocIdsInLibrary", None, payload, None, None
|
|
46
46
|
)
|
|
47
47
|
self.context.add_query(qry)
|
|
48
48
|
return self
|
|
49
49
|
|
|
50
|
+
def set_doc_id_site_prefix(
|
|
51
|
+
self, prefix, schedule_assignment, overwrite_existing_ids
|
|
52
|
+
):
|
|
53
|
+
"""
|
|
54
|
+
Allows to set or change the prefix used for Document IDs
|
|
55
|
+
|
|
56
|
+
:param str prefix:
|
|
57
|
+
:param bool schedule_assignment:
|
|
58
|
+
:param bool overwrite_existing_ids:
|
|
59
|
+
"""
|
|
60
|
+
payload = {
|
|
61
|
+
"prefix": prefix,
|
|
62
|
+
"scheduleAssignment": schedule_assignment,
|
|
63
|
+
"overwriteExistingIds": overwrite_existing_ids,
|
|
64
|
+
}
|
|
65
|
+
qry = ServiceOperationQuery(
|
|
66
|
+
self, "SetDocIdSitePrefix", None, payload, None, None
|
|
67
|
+
)
|
|
68
|
+
self.context.add_query(qry)
|
|
69
|
+
return self
|
|
70
|
+
|
|
50
71
|
@property
|
|
51
72
|
def entity_type_name(self):
|
|
52
73
|
return "SP.DocumentManagement.DocumentId"
|
|
74
|
+
|
|
75
|
+
@property
|
|
76
|
+
def entity_type_id(self):
|
|
77
|
+
return "fb7276a2-cd36-448b-8a60-a589205f5a8f"
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import datetime
|
|
2
2
|
from typing import TYPE_CHECKING, AnyStr
|
|
3
|
+
from urllib.parse import quote
|
|
3
4
|
|
|
4
5
|
import requests
|
|
5
6
|
|
|
@@ -607,8 +608,11 @@ class File(AbstractFile):
|
|
|
607
608
|
:type server_relative_url: str
|
|
608
609
|
:type content: str
|
|
609
610
|
"""
|
|
610
|
-
url =
|
|
611
|
-
|
|
611
|
+
url = quote(
|
|
612
|
+
r"{0}/web/getFileByServerRelativePath(DecodedUrl='{1}')/\$value".format(
|
|
613
|
+
context.service_root_url(), server_relative_url
|
|
614
|
+
),
|
|
615
|
+
safe=":/",
|
|
612
616
|
)
|
|
613
617
|
request = RequestOptions(url)
|
|
614
618
|
request.method = HttpMethod.Post
|
|
@@ -626,8 +630,11 @@ class File(AbstractFile):
|
|
|
626
630
|
:type server_relative_url: str
|
|
627
631
|
:return Response
|
|
628
632
|
"""
|
|
629
|
-
url =
|
|
630
|
-
|
|
633
|
+
url = quote(
|
|
634
|
+
r"{0}/web/getFileByServerRelativePath(DecodedUrl='{1}')/\$value".format(
|
|
635
|
+
context.service_root_url(), server_relative_url
|
|
636
|
+
),
|
|
637
|
+
safe=":/",
|
|
631
638
|
)
|
|
632
639
|
request = RequestOptions(url)
|
|
633
640
|
request.method = HttpMethod.Get
|
|
File without changes
|
|
@@ -32,3 +32,12 @@ class FileVersionEvent(Entity):
|
|
|
32
32
|
return self.properties.get(
|
|
33
33
|
"SharedWithUsers", ClientValueCollection(SharedWithUser)
|
|
34
34
|
)
|
|
35
|
+
|
|
36
|
+
def get_property(self, name, default_value=None):
|
|
37
|
+
if default_value is None:
|
|
38
|
+
property_mapping = {
|
|
39
|
+
"SharedByUser": self.shared_by_user,
|
|
40
|
+
"SharedWithUsers": self.shared_with_users,
|
|
41
|
+
}
|
|
42
|
+
default_value = property_mapping.get(name, None)
|
|
43
|
+
return super(FileVersionEvent, self).get_property(name, default_value)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from office365.sharepoint.entity import Entity
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class ConnectorResult(Entity):
|
|
7
|
+
""" """
|
|
8
|
+
|
|
9
|
+
@property
|
|
10
|
+
def context_data(self):
|
|
11
|
+
# type: () -> Optional[str]
|
|
12
|
+
return self.properties.get("ContextData", None)
|
|
13
|
+
|
|
14
|
+
@property
|
|
15
|
+
def value(self):
|
|
16
|
+
# type: () -> Optional[str]
|
|
17
|
+
return self.properties.get("Value", None)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
from typing import TYPE_CHECKING, Optional
|
|
2
|
+
|
|
3
|
+
from office365.runtime.queries.service_operation import ServiceOperationQuery
|
|
4
|
+
from office365.sharepoint.entity import Entity
|
|
5
|
+
from office365.sharepoint.flows.connector_result import ConnectorResult
|
|
6
|
+
|
|
7
|
+
if TYPE_CHECKING:
|
|
8
|
+
from office365.sharepoint.client_context import ClientContext
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class FlowPermissions(Entity):
|
|
12
|
+
|
|
13
|
+
@staticmethod
|
|
14
|
+
def get_flow_permission_level_on_list(context, list_name, return_type=None):
|
|
15
|
+
# type: (ClientContext, str, Optional[ConnectorResult]) -> ConnectorResult
|
|
16
|
+
""" """
|
|
17
|
+
if return_type is None:
|
|
18
|
+
return_type = ConnectorResult(context)
|
|
19
|
+
payload = {"listName": list_name}
|
|
20
|
+
qry = ServiceOperationQuery(
|
|
21
|
+
FlowPermissions(context),
|
|
22
|
+
"GetFlowPermissionLevelOnList",
|
|
23
|
+
None,
|
|
24
|
+
payload,
|
|
25
|
+
None,
|
|
26
|
+
return_type,
|
|
27
|
+
True,
|
|
28
|
+
)
|
|
29
|
+
context.add_query(qry)
|
|
30
|
+
return return_type
|
|
31
|
+
|
|
32
|
+
@property
|
|
33
|
+
def entity_type_name(self):
|
|
34
|
+
return "SP.Internal.FlowPermissions"
|
|
File without changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from typing import TYPE_CHECKING, Optional
|
|
2
|
+
|
|
3
|
+
from office365.runtime.paths.resource_path import ResourcePath
|
|
4
|
+
from office365.runtime.paths.service_operation import ServiceOperationPath
|
|
5
|
+
from office365.sharepoint.entity_collection import EntityCollection
|
|
6
|
+
from office365.sharepoint.fontpackages.font_package import FontPackage
|
|
7
|
+
|
|
8
|
+
if TYPE_CHECKING:
|
|
9
|
+
from office365.sharepoint.client_context import ClientContext
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class FontPackageCollection(EntityCollection):
|
|
13
|
+
"""Represents a collection of View resources."""
|
|
14
|
+
|
|
15
|
+
def __init__(self, context, resource_path=None):
|
|
16
|
+
# type: (ClientContext, Optional[ResourcePath]) -> None
|
|
17
|
+
super(FontPackageCollection, self).__init__(context, FontPackage, resource_path)
|
|
18
|
+
|
|
19
|
+
def get_by_title(self, title):
|
|
20
|
+
"""
|
|
21
|
+
:param str title: The title of the font package to return.
|
|
22
|
+
"""
|
|
23
|
+
return FontPackage(
|
|
24
|
+
self.context,
|
|
25
|
+
ServiceOperationPath("GetByTitle", [title], self.resource_path),
|
|
26
|
+
)
|
|
@@ -1,7 +1,33 @@
|
|
|
1
|
+
from typing import TYPE_CHECKING, Optional
|
|
2
|
+
|
|
3
|
+
from office365.runtime.queries.service_operation import ServiceOperationQuery
|
|
1
4
|
from office365.sharepoint.entity import Entity
|
|
5
|
+
from office365.sharepoint.flows.connector_result import ConnectorResult
|
|
6
|
+
|
|
7
|
+
if TYPE_CHECKING:
|
|
8
|
+
from office365.sharepoint.client_context import ClientContext
|
|
2
9
|
|
|
3
10
|
|
|
4
11
|
class FormsCustomization(Entity):
|
|
12
|
+
|
|
13
|
+
@staticmethod
|
|
14
|
+
def can_customize_forms(context, list_name, return_type=None):
|
|
15
|
+
# type: (ClientContext, str, Optional[ConnectorResult]) -> ConnectorResult
|
|
16
|
+
""""""
|
|
17
|
+
if return_type is None:
|
|
18
|
+
return_type = ConnectorResult(context)
|
|
19
|
+
payload = {"listName": list_name}
|
|
20
|
+
qry = ServiceOperationQuery(
|
|
21
|
+
FormsCustomization(context),
|
|
22
|
+
"CanCustomizeForms",
|
|
23
|
+
None,
|
|
24
|
+
payload,
|
|
25
|
+
None,
|
|
26
|
+
return_type,
|
|
27
|
+
)
|
|
28
|
+
context.add_query(qry)
|
|
29
|
+
return return_type
|
|
30
|
+
|
|
5
31
|
@property
|
|
6
32
|
def entity_type_name(self):
|
|
7
33
|
return "SP.Internal.FormsCustomization"
|
|
File without changes
|
|
@@ -14,9 +14,11 @@ from office365.sharepoint.fields.image_value import ImageFieldValue
|
|
|
14
14
|
from office365.sharepoint.fields.lookup_value import FieldLookupValue
|
|
15
15
|
from office365.sharepoint.fields.multi_lookup_value import FieldMultiLookupValue
|
|
16
16
|
from office365.sharepoint.fields.string_values import FieldStringValues
|
|
17
|
+
from office365.sharepoint.fields.url_value import FieldUrlValue
|
|
17
18
|
from office365.sharepoint.likes.liked_by_information import LikedByInformation
|
|
18
19
|
from office365.sharepoint.listitems.compliance_info import ListItemComplianceInfo
|
|
19
20
|
from office365.sharepoint.listitems.form_update_value import ListItemFormUpdateValue
|
|
21
|
+
from office365.sharepoint.listitems.update_parameters import ListItemUpdateParameters
|
|
20
22
|
from office365.sharepoint.listitems.versions.collection import ListItemVersionCollection
|
|
21
23
|
from office365.sharepoint.permissions.securable_object import SecurableObject
|
|
22
24
|
from office365.sharepoint.policy.dlp_policy_tip import DlpPolicyTip
|
|
@@ -275,7 +277,7 @@ class ListItem(SecurableObject):
|
|
|
275
277
|
"""Validates and sets the values of the specified collection of fields for the list item.
|
|
276
278
|
|
|
277
279
|
:param dict form_values: Specifies a collection of field internal names and values for the given field
|
|
278
|
-
:param
|
|
280
|
+
:param bool new_document_update: Specifies whether the list item is a document being updated after upload.
|
|
279
281
|
:param str checkin_comment: Check-in comment, if any. This parameter is only applicable when the list item
|
|
280
282
|
is checked out.
|
|
281
283
|
:param bool or None dates_in_utc:
|
|
@@ -310,10 +312,59 @@ class ListItem(SecurableObject):
|
|
|
310
312
|
super(ListItem, self).update()
|
|
311
313
|
return self
|
|
312
314
|
|
|
315
|
+
def update_ex(self, bypass_quota_check=None, bypass_shared_lock=None):
|
|
316
|
+
"""
|
|
317
|
+
|
|
318
|
+
:param bool bypass_quota_check:
|
|
319
|
+
:param bool bypass_shared_lock:
|
|
320
|
+
"""
|
|
321
|
+
payload = {
|
|
322
|
+
"parameters": ListItemUpdateParameters(
|
|
323
|
+
bypass_quota_check, bypass_shared_lock
|
|
324
|
+
)
|
|
325
|
+
}
|
|
326
|
+
qry = ServiceOperationQuery(self, "UpdateEx", None, payload)
|
|
327
|
+
self.context.add_query(qry)
|
|
328
|
+
return self
|
|
329
|
+
|
|
313
330
|
def system_update(self):
|
|
314
331
|
"""Update the list item."""
|
|
315
|
-
|
|
316
|
-
|
|
332
|
+
|
|
333
|
+
sys_metadata = ["EditorId", "Modified"]
|
|
334
|
+
|
|
335
|
+
def _after_system_update(result):
|
|
336
|
+
# type: (ClientResult[ClientValueCollection[ListItemFormUpdateValue]]) -> None
|
|
337
|
+
has_any_error = any([item.HasException for item in result.value])
|
|
338
|
+
if has_any_error:
|
|
339
|
+
raise ValueError("Update ListItem failed")
|
|
340
|
+
|
|
341
|
+
def _system_update():
|
|
342
|
+
from office365.sharepoint.fields.user_value import FieldUserValue
|
|
343
|
+
|
|
344
|
+
form_values = self.persistable_properties
|
|
345
|
+
for n in sys_metadata:
|
|
346
|
+
if n == "Id":
|
|
347
|
+
pass
|
|
348
|
+
elif n.endswith("Id"):
|
|
349
|
+
user = self.context.web.site_users.get_by_id(self.get_property(n))
|
|
350
|
+
form_values[n[:-2]] = FieldUserValue.from_user(user)
|
|
351
|
+
else:
|
|
352
|
+
form_values[n] = self.get_property(n)
|
|
353
|
+
|
|
354
|
+
self.validate_update_list_item(
|
|
355
|
+
form_values=form_values,
|
|
356
|
+
dates_in_utc=True,
|
|
357
|
+
new_document_update=True,
|
|
358
|
+
).after_execute(_after_system_update)
|
|
359
|
+
|
|
360
|
+
def _list_loaded():
|
|
361
|
+
if self.parent_list.base_template == 101:
|
|
362
|
+
self.ensure_properties(sys_metadata, _system_update)
|
|
363
|
+
else:
|
|
364
|
+
next_qry = ServiceOperationQuery(self, "SystemUpdate")
|
|
365
|
+
self.context.add_query(next_qry)
|
|
366
|
+
|
|
367
|
+
self.parent_list.ensure_properties(["BaseTemplate"], _list_loaded)
|
|
317
368
|
return self
|
|
318
369
|
|
|
319
370
|
def update_overwrite_version(self):
|
|
@@ -332,6 +383,17 @@ class ListItem(SecurableObject):
|
|
|
332
383
|
self.context.add_query(qry)
|
|
333
384
|
return self
|
|
334
385
|
|
|
386
|
+
def set_compliance_tag_with_hold(self, compliance_tag):
|
|
387
|
+
"""
|
|
388
|
+
Sets a compliance tag with a hold
|
|
389
|
+
|
|
390
|
+
:param str compliance_tag: The applying label (tag) to the list item
|
|
391
|
+
"""
|
|
392
|
+
payload = {"complianceTag": compliance_tag}
|
|
393
|
+
qry = ServiceOperationQuery(self, "SetComplianceTagWithHold", None, payload)
|
|
394
|
+
self.context.add_query(qry)
|
|
395
|
+
return self
|
|
396
|
+
|
|
335
397
|
def get_comments(self):
|
|
336
398
|
"""Retrieve ListItem comments"""
|
|
337
399
|
return_type = CommentCollection(self.context)
|
|
@@ -377,7 +439,7 @@ class ListItem(SecurableObject):
|
|
|
377
439
|
"""Get parent List"""
|
|
378
440
|
from office365.sharepoint.lists.list import List
|
|
379
441
|
|
|
380
|
-
return self.properties.
|
|
442
|
+
return self.properties.setdefault(
|
|
381
443
|
"ParentList",
|
|
382
444
|
List(self.context, ResourcePath("ParentList", self.resource_path)),
|
|
383
445
|
)
|
|
@@ -507,12 +569,25 @@ class ListItem(SecurableObject):
|
|
|
507
569
|
),
|
|
508
570
|
)
|
|
509
571
|
|
|
572
|
+
@property
|
|
573
|
+
def doc_id(self):
|
|
574
|
+
# type: () -> Optional[str]
|
|
575
|
+
"""Document ID fora document"""
|
|
576
|
+
return self.properties.get("OData__dlc_DocId", None)
|
|
577
|
+
|
|
578
|
+
@property
|
|
579
|
+
def doc_id_url(self):
|
|
580
|
+
# type: () -> Optional[FieldUrlValue]
|
|
581
|
+
"""Document ID fora document"""
|
|
582
|
+
return self.properties.get("OData__dlc_DocIdUrl", FieldUrlValue())
|
|
583
|
+
|
|
510
584
|
def get_property(self, name, default_value=None):
|
|
511
585
|
if default_value is None:
|
|
512
586
|
property_mapping = {
|
|
513
587
|
"AttachmentFiles": self.attachment_files,
|
|
514
588
|
"ContentType": self.content_type,
|
|
515
589
|
"ComplianceInfo": self.compliance_info,
|
|
590
|
+
"OData__dlc_DocIdUrl": self.doc_id_url,
|
|
516
591
|
"EffectiveBasePermissions": self.effective_base_permissions,
|
|
517
592
|
"GetDlpPolicyTip": self.get_dlp_policy_tip,
|
|
518
593
|
"FieldValuesAsHtml": self.field_values_as_html,
|
|
@@ -2,4 +2,7 @@ from office365.runtime.client_value import ClientValue
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class ListItemUpdateParameters(ClientValue):
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
def __init__(self, bypass_quota_check=None, bypass_shared_lock=None):
|
|
7
|
+
self.BypassQuotaCheck = bypass_quota_check
|
|
8
|
+
self.BypassSharedLock = bypass_shared_lock
|