From 638413a02ae3406b89e6b45a0b3e8ff8fb14d6fd Mon Sep 17 00:00:00 2001 From: Dale Wahl Date: Tue, 4 Feb 2025 11:08:17 +0100 Subject: [PATCH] check results exist then delete; error message include dataset key when unable to delete sometimes log files are left behind because FileNotFoundError was raised on the results_path --- common/lib/dataset.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/common/lib/dataset.py b/common/lib/dataset.py index 56924f674..2cd710a2d 100644 --- a/common/lib/dataset.py +++ b/common/lib/dataset.py @@ -549,7 +549,8 @@ def delete(self, commit=True): # delete from drive try: - self.get_results_path().unlink() + if self.get_results_path().exists(): + self.get_results_path().unlink() if self.get_results_path().with_suffix(".log").exists(): self.get_results_path().with_suffix(".log").unlink() if self.get_results_folder_path().exists(): @@ -557,6 +558,8 @@ def delete(self, commit=True): except FileNotFoundError: # already deleted, apparently pass + except PermissionError as e: + self.db.log.error(f"Could not delete all dataset {self.key} files; they may need to be deleted manually: {e}") def update_children(self, **kwargs): """