From 7414568039d8b0ca545505e7b45fb788413dd306 Mon Sep 17 00:00:00 2001 From: Chen Kasirer Date: Tue, 19 Nov 2024 16:50:36 +0100 Subject: [PATCH] added delete files --- CHANGELOG.md | 2 ++ src/installlib/tasks.py | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca06aa2..2813685 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +* Added new task `DeleteFiles` to `installlib.tasks`. + ### Changed ### Removed diff --git a/src/installlib/tasks.py b/src/installlib/tasks.py index 3d2ba69..ae48013 100644 --- a/src/installlib/tasks.py +++ b/src/installlib/tasks.py @@ -183,3 +183,20 @@ def execute(self): except Exception as ex: return False, f"Failed to copy files: {ex}" return True, None + + +class DeleteFiles: + def __init__(self, filepaths, name=None) -> None: + self.name = name or DeleteFiles.__name__ + self.filepaths = filepaths + + def execute(self): + try: + files = self.filepaths() if callable(self.filepaths) else self.filepaths + if not isinstance(files, list): + files = [files] + for file in files: + os.remove(file) + except Exception as ex: + return False, f"Failed to delete files: {ex}" + return True, None