From b98ea87891126dde5f152c967cd2e925115c5232 Mon Sep 17 00:00:00 2001 From: pacnpal <183241239+pacnpal@users.noreply.github.com> Date: Sun, 17 Nov 2024 22:37:50 +0000 Subject: [PATCH] fix(ffmpeg): add fallback to absolute imports in ffmpeg_manager.py --- videoarchiver/ffmpeg/ffmpeg_manager.py | 38 ++++++++++++++++++-------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/videoarchiver/ffmpeg/ffmpeg_manager.py b/videoarchiver/ffmpeg/ffmpeg_manager.py index 5149a2b..eb07fe1 100644 --- a/videoarchiver/ffmpeg/ffmpeg_manager.py +++ b/videoarchiver/ffmpeg/ffmpeg_manager.py @@ -6,20 +6,36 @@ import multiprocessing from pathlib import Path from typing import Dict, Any, Optional -from .exceptions import ( - FFmpegError, - AnalysisError, - FFmpegNotFoundError -) -from .gpu_detector import GPUDetector -from .video_analyzer import VideoAnalyzer -from .encoder_params import EncoderParams -from .process_manager import ProcessManager -from .verification_manager import VerificationManager -from .binary_manager import BinaryManager +try: + # Try relative imports first + from .exceptions import ( + FFmpegError, + AnalysisError, + FFmpegNotFoundError + ) + from .gpu_detector import GPUDetector + from .video_analyzer import VideoAnalyzer + from .encoder_params import EncoderParams + from .process_manager import ProcessManager + from .verification_manager import VerificationManager + from .binary_manager import BinaryManager +except ImportError: + # Fall back to absolute imports if relative imports fail + from videoarchiver.ffmpeg.exceptions import ( + FFmpegError, + AnalysisError, + FFmpegNotFoundError + ) + from videoarchiver.ffmpeg.gpu_detector import GPUDetector + from videoarchiver.ffmpeg.video_analyzer import VideoAnalyzer + from videoarchiver.ffmpeg.encoder_params import EncoderParams + from videoarchiver.ffmpeg.process_manager import ProcessManager + from videoarchiver.ffmpeg.verification_manager import VerificationManager + from videoarchiver.ffmpeg.binary_manager import BinaryManager logger = logging.getLogger("VideoArchiver") + class FFmpegManager: """Manages FFmpeg operations and lifecycle"""