From 643763db0a5aa3fe3d4765bf42270c3c4c5c3c02 Mon Sep 17 00:00:00 2001 From: pacnpal <183241239+pacnpal@users.noreply.github.com> Date: Sun, 17 Nov 2024 22:52:16 +0000 Subject: [PATCH] fix(processor): add fallback to absolute imports in __init__.py --- videoarchiver/processor/__init__.py | 118 +++++++++++++++++++--------- 1 file changed, 80 insertions(+), 38 deletions(-) diff --git a/videoarchiver/processor/__init__.py b/videoarchiver/processor/__init__.py index 07762d5..cbc21d7 100644 --- a/videoarchiver/processor/__init__.py +++ b/videoarchiver/processor/__init__.py @@ -3,44 +3,86 @@ from typing import Dict, Any, Optional, Union, List, Tuple import discord # type: ignore -from .core import VideoProcessor -from .constants import ( - REACTIONS, - ReactionType, - ReactionEmojis, - ProgressEmojis, - get_reaction, - get_progress_emoji, -) -from .url_extractor import ( - URLExtractor, - URLMetadata, - URLPattern, - URLType, - URLPatternManager, - URLValidator, - URLMetadataExtractor, -) -from .message_validator import ( - MessageValidator, - ValidationContext, - ValidationRule, - ValidationResult, - ValidationRuleManager, - ValidationCache, - ValidationStats, - ValidationCacheEntry, - ValidationError, -) -from .message_handler import MessageHandler -from .queue_handler import QueueHandler -from .reactions import ( - handle_archived_reaction, - update_queue_position_reaction, - update_progress_reaction, - update_download_progress_reaction, -) -from ..utils.progress_tracker import progress_tracker +try: + # Try relative imports first + from .core import VideoProcessor + from .constants import ( + REACTIONS, + ReactionType, + ReactionEmojis, + ProgressEmojis, + get_reaction, + get_progress_emoji, + ) + from .url_extractor import ( + URLExtractor, + URLMetadata, + URLPattern, + URLType, + URLPatternManager, + URLValidator, + URLMetadataExtractor, + ) + from .message_validator import ( + MessageValidator, + ValidationContext, + ValidationRule, + ValidationResult, + ValidationRuleManager, + ValidationCache, + ValidationStats, + ValidationCacheEntry, + ValidationError, + ) + from .message_handler import MessageHandler + from .queue_handler import QueueHandler + from .reactions import ( + handle_archived_reaction, + update_queue_position_reaction, + update_progress_reaction, + update_download_progress_reaction, + ) + from ..utils.progress_tracker import progress_tracker +except ImportError: + # Fall back to absolute imports if relative imports fail + from videoarchiver.processor.core import VideoProcessor + from videoarchiver.processor.constants import ( + REACTIONS, + ReactionType, + ReactionEmojis, + ProgressEmojis, + get_reaction, + get_progress_emoji, + ) + from videoarchiver.processor.url_extractor import ( + URLExtractor, + URLMetadata, + URLPattern, + URLType, + URLPatternManager, + URLValidator, + URLMetadataExtractor, + ) + from videoarchiver.processor.message_validator import ( + MessageValidator, + ValidationContext, + ValidationRule, + ValidationResult, + ValidationRuleManager, + ValidationCache, + ValidationStats, + ValidationCacheEntry, + ValidationError, + ) + from videoarchiver.processor.message_handler import MessageHandler + from videoarchiver.processor.queue_handler import QueueHandler + from videoarchiver.processor.reactions import ( + handle_archived_reaction, + update_queue_position_reaction, + update_progress_reaction, + update_download_progress_reaction, + ) + from videoarchiver.utils.progress_tracker import progress_tracker # Export public classes and constants __all__ = [