Skip to content

Commit 7f461cf

Browse files
vojtech2pbailly
andauthored
Allow to optionally delete data from managed folders and/or job and scenario logs … (#188)
* Allow to optionally delete data from managed folders and/or job logs when deleting a project * feat: Default delete_job_logs to True * Revert "feat: Default delete_job_logs to True" This reverts commit e890c5b. * Update dataikuapi/dss/project.py Co-authored-by: Pierre Bailly-Ferry <pbailly@users.noreply.github.com> * refactor: Rename DSSProject.delete parameters * docs: Tidy up the DSSProject.delete parameter documentation * chore: drop_data -> clear_managed_datasets Co-authored-by: Pierre Bailly-Ferry <pbailly@users.noreply.github.com>
1 parent 566ba99 commit 7f461cf

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

dataikuapi/dss/app.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ def __init__(self, client, project_key):
135135
DSSAppInstance.__init__(self, client,project_key)
136136

137137
def close(self):
138-
self.get_as_project().delete(drop_data=True)
138+
self.get_as_project().delete(clear_managed_datasets=True)
139139

140140
def __enter__(self,):
141141
return self

dataikuapi/dss/project.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,17 +79,25 @@ def move_to_folder(self, folder):
7979
# Project deletion
8080
########################################################
8181

82-
def delete(self, drop_data=False):
82+
def delete(self, clear_managed_datasets=False, clear_output_managed_folders=False, clear_job_and_scenario_logs=True, **kwargs):
8383
"""
8484
Delete the project
8585
8686
This call requires an API key with admin rights
8787
88-
:param bool drop_data: Should the data of managed datasets be dropped
88+
:param bool clear_managed_datasets: Should the data of managed datasets be cleared
89+
:param bool clear_output_managed_folders: Should the data of managed folders used as outputs of recipes be cleared
90+
:param bool clear_job_and_scenario_logs: Should the job and scenario logs be cleared
8991
"""
92+
# For backwards compatibility
93+
if 'drop_data' in kwargs and kwargs['drop_data']:
94+
clear_managed_datasets = True
95+
9096
return self.client._perform_empty(
91-
"DELETE", "/projects/%s" % self.project_key, params = {
92-
"dropData": drop_data
97+
"DELETE", "/projects/%s" % self.project_key, params={
98+
"clearManagedDatasets": clear_managed_datasets,
99+
"clearOutputManagedFolders": clear_output_managed_folders,
100+
"clearJobAndScenarioLogs": clear_job_and_scenario_logs
93101
})
94102

95103
########################################################

0 commit comments

Comments
 (0)