From 871eccd978d07a16208521c0c4d527c2429d94c1 Mon Sep 17 00:00:00 2001 From: pacnpal <183241239+pacnpal@users.noreply.github.com> Date: Sat, 16 Nov 2024 16:35:41 +0000 Subject: [PATCH] video_downloader.py correctly imports and uses secure_delete_file with await guild.py correctly imports cleanup_downloads directly from file_ops.py initialization.py now correctly imports cleanup_downloads from file_ops.py cleanup.py now correctly imports cleanup_downloads from file_ops.py utils/init.py correctly re-exports both functions The circular import has been resolved by: Having all files import directly from file_ops.py Removing the re-export of cleanup_downloads from cleanup.py Ensuring proper async/await usage throughout --- videoarchiver/config/exceptions.py | 29 ++++++++++++++++++++++++++++ videoarchiver/core/initialization.py | 3 ++- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 videoarchiver/config/exceptions.py diff --git a/videoarchiver/config/exceptions.py b/videoarchiver/config/exceptions.py new file mode 100644 index 0000000..777c76a --- /dev/null +++ b/videoarchiver/config/exceptions.py @@ -0,0 +1,29 @@ +"""Configuration related exceptions""" + +class ConfigurationError(Exception): + """Base exception for configuration related errors""" + pass + +class ValidationError(ConfigurationError): + """Raised when configuration validation fails""" + pass + +class PermissionError(ConfigurationError): + """Raised when there are permission issues with configuration""" + pass + +class LoadError(ConfigurationError): + """Raised when configuration loading fails""" + pass + +class SaveError(ConfigurationError): + """Raised when configuration saving fails""" + pass + +class MigrationError(ConfigurationError): + """Raised when configuration migration fails""" + pass + +class SchemaError(ConfigurationError): + """Raised when configuration schema is invalid""" + pass diff --git a/videoarchiver/core/initialization.py b/videoarchiver/core/initialization.py index 937527a..542af82 100644 --- a/videoarchiver/core/initialization.py +++ b/videoarchiver/core/initialization.py @@ -13,7 +13,8 @@ from ..queue import EnhancedVideoQueueManager from ..processor import VideoProcessor from ..update_checker import UpdateChecker from .guild import initialize_guild_components -from .cleanup import cleanup_downloads, cleanup_resources, force_cleanup_resources +from .cleanup import cleanup_resources, force_cleanup_resources +from ..utils.file_ops import cleanup_downloads from ..utils.exceptions import VideoArchiverError as ProcessingError logger = logging.getLogger("VideoArchiver")