From f3aa542f315095de15adaecc36851ac65fbce204 Mon Sep 17 00:00:00 2001 From: Alexandre Bourret Date: Tue, 10 May 2022 10:46:24 +0200 Subject: [PATCH 1/3] Move lists to recycle bin instead of deleting them --- python-lib/sharepoint_client.py | 8 ++++++++ python-lib/sharepoint_lists.py | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/python-lib/sharepoint_client.py b/python-lib/sharepoint_client.py index 12123ea..ea297f3 100644 --- a/python-lib/sharepoint_client.py +++ b/python-lib/sharepoint_client.py @@ -337,6 +337,14 @@ def delete_list(self, list_name): ) return response + def recycle_list(self, list_name): + headers = DSSConstants.JSON_HEADERS + response = self.session.post( + self.get_lists_by_title_url(list_name)+"/recycle()", + headers=headers + ) + return response + def get_list_metadata(self, list_name): headers = DSSConstants.JSON_HEADERS response = self.session.get( diff --git a/python-lib/sharepoint_lists.py b/python-lib/sharepoint_lists.py index 9fb661b..1b7e78b 100644 --- a/python-lib/sharepoint_lists.py +++ b/python-lib/sharepoint_lists.py @@ -97,8 +97,8 @@ def __init__(self, config, parent, dataset_schema, dataset_partitioning, partiti self.web_name = self.parent.sharepoint_list_title if write_mode == SharePointConstants.WRITE_MODE_CREATE: - logger.info('flush:delete_list "{}"'.format(self.parent.sharepoint_list_title)) - self.parent.client.delete_list(self.parent.sharepoint_list_title) + logger.info('flush:recycle_list "{}"'.format(self.parent.sharepoint_list_title)) + self.parent.client.recycle_list(self.parent.sharepoint_list_title) logger.info('flush:create_list "{}"'.format(self.parent.sharepoint_list_title)) created_list = self.parent.client.create_list(self.parent.sharepoint_list_title) self.entity_type_name = created_list.get("EntityTypeName") From 31bb2b85ccf5446a89c011699c3e4ac5d055ef96 Mon Sep 17 00:00:00 2001 From: Alexandre Bourret Date: Fri, 3 Jun 2022 15:06:04 +0200 Subject: [PATCH 2/3] Fix for [sc-90916] (site+root override for site app permission) --- python-lib/sharepoint_client.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python-lib/sharepoint_client.py b/python-lib/sharepoint_client.py index ea297f3..0efd33e 100644 --- a/python-lib/sharepoint_client.py +++ b/python-lib/sharepoint_client.py @@ -78,6 +78,7 @@ def __init__(self, config): self.assert_login_details(DSSConstants.SITE_APP_DETAILS, login_details) self.setup_sharepoint_online_url(login_details) self.setup_login_details(login_details) + self.apply_paths_overwrite(config) self.tenant_id = login_details.get("tenant_id") self.client_secret = login_details.get("client_secret") self.client_id = login_details.get("client_id") From 0012d1edc0289da9ac62f319f40f76b438034717 Mon Sep 17 00:00:00 2001 From: Alexandre Bourret Date: Tue, 21 Jun 2022 09:13:16 +0200 Subject: [PATCH 3/3] Remove delete_list method --- python-lib/sharepoint_client.py | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/python-lib/sharepoint_client.py b/python-lib/sharepoint_client.py index 0efd33e..d022b68 100644 --- a/python-lib/sharepoint_client.py +++ b/python-lib/sharepoint_client.py @@ -327,17 +327,6 @@ def create_list(self, list_name): json = response.json() return json.get(SharePointConstants.RESULTS_CONTAINER_V2, {}) - def delete_list(self, list_name): - headers = { - "X-HTTP-Method": "DELETE", - "IF-MATCH": "*" - } - response = self.session.post( - self.get_lists_by_title_url(list_name), - headers=headers - ) - return response - def recycle_list(self, list_name): headers = DSSConstants.JSON_HEADERS response = self.session.post(