fix(ffmpeg): add fallback to absolute imports in ffmpeg_manager.py

This commit is contained in:
pacnpal
2024-11-17 22:37:50 +00:00
parent eb518dc8d5
commit b98ea87891

View File

@@ -6,20 +6,36 @@ import multiprocessing
from pathlib import Path from pathlib import Path
from typing import Dict, Any, Optional from typing import Dict, Any, Optional
from .exceptions import ( try:
FFmpegError, # Try relative imports first
AnalysisError, from .exceptions import (
FFmpegNotFoundError FFmpegError,
) AnalysisError,
from .gpu_detector import GPUDetector FFmpegNotFoundError
from .video_analyzer import VideoAnalyzer )
from .encoder_params import EncoderParams from .gpu_detector import GPUDetector
from .process_manager import ProcessManager from .video_analyzer import VideoAnalyzer
from .verification_manager import VerificationManager from .encoder_params import EncoderParams
from .binary_manager import BinaryManager 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") logger = logging.getLogger("VideoArchiver")
class FFmpegManager: class FFmpegManager:
"""Manages FFmpeg operations and lifecycle""" """Manages FFmpeg operations and lifecycle"""