From df88ae99baf26fad57cd15a86beb5a22546d8ba4 Mon Sep 17 00:00:00 2001 From: Jesse Bannon Date: Wed, 30 Nov 2022 14:08:58 -0800 Subject: [PATCH] [BUGFIX] Clear working directory before starting any downloads --- src/ytdl_sub/subscriptions/subscription_download.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/ytdl_sub/subscriptions/subscription_download.py b/src/ytdl_sub/subscriptions/subscription_download.py index 7cdc2144..05460ba1 100644 --- a/src/ytdl_sub/subscriptions/subscription_download.py +++ b/src/ytdl_sub/subscriptions/subscription_download.py @@ -95,9 +95,10 @@ class SubscriptionDownload(BaseSubscription, ABC): entry=entry, ) - def _delete_working_directory(self, is_error: bool) -> None: + def _delete_working_directory(self, is_error: bool = False) -> None: _ = is_error - shutil.rmtree(self.working_directory) + if os.path.isdir(self.working_directory): + shutil.rmtree(self.working_directory) @contextlib.contextmanager def _prepare_working_directory(self): @@ -105,6 +106,7 @@ class SubscriptionDownload(BaseSubscription, ABC): Context manager to create all directories to the working directory. Deletes the entire working directory when cleaning up. """ + self._delete_working_directory() os.makedirs(self.working_directory, exist_ok=True) try: @@ -113,7 +115,7 @@ class SubscriptionDownload(BaseSubscription, ABC): self._delete_working_directory(is_error=True) raise exc else: - self._delete_working_directory(is_error=False) + self._delete_working_directory() @contextlib.contextmanager def _maintain_archive_file(self):