From 7276e37cab3b7628dd4d5ffda9dfc04d444398fc Mon Sep 17 00:00:00 2001 From: pacnpal <183241239+pacnpal@users.noreply.github.com> Date: Mon, 18 Nov 2024 00:51:55 +0000 Subject: [PATCH] y --- videoarchiver/processor/__init__.py | 3 ++- videoarchiver/processor/core.py | 5 +++-- videoarchiver/processor/queue_handler.py | 8 +++++--- videoarchiver/utils/__init__.py | 4 +++- videoarchiver/utils/download_manager.py | 2 +- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/videoarchiver/processor/__init__.py b/videoarchiver/processor/__init__.py index 93fd79d..e6f07a4 100644 --- a/videoarchiver/processor/__init__.py +++ b/videoarchiver/processor/__init__.py @@ -49,7 +49,7 @@ from .reactions import ( ) # Import progress tracking -from ..utils.progress_tracker import progress_tracker +from ..utils.progress_tracker import ProgressTracker # Import handlers after other dependencies are loaded from .message_handler import MessageHandler @@ -113,6 +113,7 @@ __description__ = "Video processing module for archiving Discord videos" # Create shared instances for module-level access url_extractor = URLExtractor() message_validator = MessageValidator() +progress_tracker = ProgressTracker() # Create singleton instance # URL extraction helper functions diff --git a/videoarchiver/processor/core.py b/videoarchiver/processor/core.py index b83c4fe..6e0237f 100644 --- a/videoarchiver/processor/core.py +++ b/videoarchiver/processor/core.py @@ -10,7 +10,7 @@ from discord.ext import commands # type: ignore from videoarchiver.core.types import ComponentState, ProcessorState, ComponentStatus, IComponent, IConfigManager, IQueueManager from videoarchiver.processor.constants import REACTIONS -from videoarchiver.utils import progress_tracker +from videoarchiver.utils.progress_tracker import ProgressTracker from videoarchiver.utils.exceptions import ProcessorError logger = logging.getLogger("VideoArchiver") @@ -90,6 +90,7 @@ class HealthMonitor: self.last_check: Optional[datetime] = None self.health_status: Dict[str, bool] = {} self._monitor_task: Optional[asyncio.Task] = None + self.progress_tracker = ProgressTracker() # Initialize ProgressTracker instance async def start_monitoring(self) -> None: """Start health monitoring""" @@ -116,7 +117,7 @@ class HealthMonitor: self.health_status.update({ "queue_handler": self.processor.queue_handler.is_healthy(), "message_handler": self.processor.message_handler.is_healthy(), - "progress_tracker": progress_tracker.is_healthy(), + "progress_tracker": self.progress_tracker.is_healthy(), }) # Check operation health diff --git a/videoarchiver/processor/queue_handler.py b/videoarchiver/processor/queue_handler.py index c9d3fc6..e5e48ce 100644 --- a/videoarchiver/processor/queue_handler.py +++ b/videoarchiver/processor/queue_handler.py @@ -17,6 +17,7 @@ try: from ..utils.exceptions import QueueHandlerError from ..queue.models import QueueItem from ..config_manager import ConfigManager + from . import progress_tracker # Import from processor package from .constants import REACTIONS except ImportError: # Fall back to absolute imports if relative imports fail @@ -27,6 +28,7 @@ except ImportError: from videoarchiver.utils.exceptions import QueueHandlerError from videoarchiver.queue.models import QueueItem from videoarchiver.config_manager import ConfigManager + from videoarchiver.processor import progress_tracker # Import from processor package from videoarchiver.processor.constants import REACTIONS logger = logging.getLogger("VideoArchiver") @@ -390,7 +392,7 @@ class QueueHandler: return # Update progress tracking - utils.progress_tracker.update_download_progress( + progress_tracker.update_download_progress( url, { "percent": progress, @@ -437,9 +439,9 @@ class QueueHandler: download_task, timeout=self.DOWNLOAD_TIMEOUT ) if success: - utils.progress_tracker.complete_download(url) + progress_tracker.complete_download(url) else: - utils.progress_tracker.increment_download_retries(url) + progress_tracker.increment_download_retries(url) return success, file_path, error except asyncio.TimeoutError: diff --git a/videoarchiver/utils/__init__.py b/videoarchiver/utils/__init__.py index a7cbd06..97cb694 100644 --- a/videoarchiver/utils/__init__.py +++ b/videoarchiver/utils/__init__.py @@ -85,6 +85,9 @@ from .exceptions import ( TrackingError ) +# Import progress_tracker from processor +from ..processor import progress_tracker + __all__ = [ # File Operations 'cleanup_downloads', @@ -186,7 +189,6 @@ directory_manager = DirectoryManager() permission_manager = PermissionManager() download_manager = DownloadManager() compression_manager = CompressionManager() -progress_tracker = ProgressTracker() path_manager = PathManager() # Progress tracking helper functions diff --git a/videoarchiver/utils/download_manager.py b/videoarchiver/utils/download_manager.py index 1c68c2f..0947fa8 100644 --- a/videoarchiver/utils/download_manager.py +++ b/videoarchiver/utils/download_manager.py @@ -11,7 +11,7 @@ from pathlib import Path from ..ffmpeg.verification_manager import VerificationManager from ..utils.compression_manager import CompressionManager -from ..utils import progress_tracker +from ..processor import progress_tracker # Import from processor instead of utils logger = logging.getLogger("DownloadManager")