Commit Graph

  • a92c1617f9 docs: update active context with cleanup_manager import fix pacnpal 2024-11-17 22:06:40 +00:00
  • 1c1efff0cf fix(processor): add fallback to absolute imports in cleanup_manager pacnpal 2024-11-17 22:06:16 +00:00
  • 16194c205d docs: update active context with queue_handler import fix pacnpal 2024-11-17 22:04:28 +00:00
  • 13c0cbd9d8 fix(processor): add fallback to absolute imports in queue_handler pacnpal 2024-11-17 22:03:55 +00:00
  • 86d2eeb13a docs: update active context with message_handler import fix pacnpal 2024-11-17 21:59:10 +00:00
  • 1ddc4002fa fix(processor): add fallback to absolute imports in message_handler pacnpal 2024-11-17 21:58:25 +00:00
  • 23f75858fd docs: update active context with queue_processor import fix pacnpal 2024-11-17 21:56:49 +00:00
  • ca5571750f fix(processor): add fallback to absolute imports in queue_processor pacnpal 2024-11-17 21:56:25 +00:00
  • 52d3bbbe37 docs: update context files with import patterns and recent changes pacnpal 2024-11-17 21:55:27 +00:00
  • d1b5e4156a fix(core): simplify relative import in core/__init__.py pacnpal 2024-11-17 21:53:23 +00:00
  • 3fed7a7a6c fix(core): add fallback to absolute imports in component_manager pacnpal 2024-11-17 21:52:53 +00:00
  • 91e34a6639 fix(processor): correct relative import path for progress_tracker pacnpal 2024-11-17 21:47:26 +00:00
  • b26dedd5b1 docs: verify and document clean dependency structure pacnpal 2024-11-17 21:44:41 +00:00
  • e8b50573a3 docs: update active context with dependency analysis results pacnpal 2024-11-17 21:42:47 +00:00
  • d9fc0f360f Identified cyclic dependency between processor and utils packages pacnpal 2024-11-17 21:40:50 +00:00
  • e8e5e5804d more fixes pacnpal 2024-11-17 21:37:06 +00:00
  • b8f29341ce fixes pacnpal 2024-11-17 21:33:12 +00:00
  • 439cf5ff07 Using TYPE_CHECKING for type hints Moving runtime imports to appropriate locations Using string literal type annotations Importing shared utilities through the utils package pacnpal 2024-11-17 21:24:49 +00:00
  • e997c6f6b9 Created a proper dependency hierarchy: pacnpal 2024-11-17 21:11:00 +00:00
  • 063258513e Creating a shared types module (types.py) for common types and interfaces Updating queue_processor.py to use the shared types Updating manager.py to use the correct imports and shared types The cyclic dependency has been resolved by: pacnpal 2024-11-17 20:58:14 +00:00
  • aa61c738a2 fixed more imports pacnpal 2024-11-17 20:46:22 +00:00
  • 4fc2afc446 fixed some more imports pacnpal 2024-11-17 20:43:55 +00:00
  • ad8a4e3dbe import fix pacnpal 2024-11-17 20:39:12 +00:00
  • 1fdabee127 Fix: Update processor/__init__.py to use relative imports to resolve ModuleNotFoundError pacnpal 2024-11-17 20:20:39 +00:00
  • 97dd6d72f2 loads of import fixes pacnpal 2024-11-17 19:47:18 +00:00
  • f71e174c0d Fixed incorrect import paths in videoarchiver/utils/__init__.py by removing redundant .utils prefix pacnpal 2024-11-17 16:27:29 +00:00
  • b1e3f0c9d6 fixed imports hopefully pacnpal 2024-11-17 16:22:22 +00:00
  • 3d4d385559 fixed imports hopefully pacnpal 2024-11-17 16:21:17 +00:00
  • 074b462a1b Updated videoarchiver/__init__.py to include all relevant classes from subdirectories pacnpal 2024-11-17 16:15:27 +00:00
  • 0db1f31f8f Updated videoarchiver/__init__.py to use relative imports for Red-DiscordBot best practices pacnpal 2024-11-17 16:11:42 +00:00
  • 29606683d4 Updated videoarchiver/__init__.py to include all imports from cog subdirectories pacnpal 2024-11-17 16:10:20 +00:00
  • 825ac0ce2c Updated videoarchiver/queue/__init__.py to import all modules from queue and cleaners subdirectory pacnpal 2024-11-17 16:07:17 +00:00
  • 62c97f0b01 Converted all 'from videoarchiver.' imports to relative imports pacnpal 2024-11-17 16:05:12 +00:00
  • c830be2841 videoarchiver/config/validation_manager.py videoarchiver/config/role_manager.py videoarchiver/database/connection_manager.py videoarchiver/database/schema_manager.py videoarchiver/queue/cleaners/tracking_cleaner.py videoarchiver/exceptions.py videoarchiver/processor.py videoarchiver/commands.py videoarchiver/update_checker.py videoarchiver/utils/path_manager.py videoarchiver/utils/file_ops.py videoarchiver/processor/message_validator.py videoarchiver/utils/download_manager.py pacnpal 2024-11-17 06:12:41 +00:00
  • 973714e281 fix pacnpal 2024-11-17 03:15:35 +00:00
  • a5c3101d78 1 pacnpal 2024-11-17 03:12:47 +00:00
  • 4fe45458bf In the core module: Updated base.py to use absolute imports Updated cleanup.py to use absolute imports Updated events.py to use absolute imports Updated error_handler.py to use absolute imports Updated guild.py to use absolute imports Updated initialization.py to use absolute imports Updated lifecycle.py to use absolute imports Updated response_handler.py to use absolute imports Updated settings.py to use absolute imports In the core/commands module: Updated archiver_commands.py to use absolute imports Updated database_commands.py to use absolute imports Updated settings_commands.py to use absolute imports Left init.py unchanged as its relative imports are appropriate In the processor module: Updated core.py to use absolute imports Updated processor/init.py to use absolute imports Updated queue_handler.py to use absolute imports Updated queue_processor.py to use absolute imports Updated status_display.py to use absolute imports Updated cleanup_manager.py to use absolute imports pacnpal 2024-11-17 02:58:53 +00:00
  • 0d67bcc4a7 lol pacnpal 2024-11-17 02:10:22 +00:00
  • 247381fc8a Changing the relative import in core.py to use an absolute import path: from videoarchiver.utils import progress_tracker Updated the main init.py to properly handle module reloading: Added 'videoarchiver.processor' and 'videoarchiver.processor.core' to modules_to_reload Added explicit import and reload of the processor module These changes ensure that: pacnpal 2024-11-17 01:29:00 +00:00
  • b10722f05b Moved progress_tracker.py to utils/ as the single source of truth Implemented proper singleton pattern in ProgressTracker class Created shared instance in utils/init.py Updated all files to use relative imports correctly Removed duplicate progress_tracker.py from processor/ Fixed circular imports by removing ProgressTracker from processor.py re-exports pacnpal 2024-11-17 01:24:03 +00:00
  • 98ed3dfc6a lol pacnpal 2024-11-17 01:17:44 +00:00
  • 2557978cf3 lol pacnpal 2024-11-17 01:03:45 +00:00
  • d2576df988 ok pacnpal 2024-11-17 00:25:34 +00:00
  • c9e24436bb ok pacnpal 2024-11-17 00:23:15 +00:00
  • 3a5df65661 Add __init__.py to queue/cleaners: - Export cleaner classes - Add proper docstring - Add __all__ list pacnpal 2024-11-17 00:20:38 +00:00
  • dfc2e8dad5 Update root __init__.py: - Force reload of all command modules - Remove modules from sys.modules before importing - Reload utils module after importing - Ensure proper exception imports pacnpal 2024-11-17 00:13:29 +00:00
  • 824b8870e1 Update root __init__.py: - Add module reloading to ensure exceptions are available - Import and re-export all necessary exceptions - Maintain existing setup and teardown functions - Add version information - Update __all__ list with all exports pacnpal 2024-11-17 00:07:43 +00:00
  • e08ec2fa84 Update utils/__init__.py: - Add CommandError and EventError to imports and __all__ - Add CogError to imports and __all__ - Add TrackingError to imports and __all__ - Add helper functions for error handling and progress tracking - Add version information and shared instances pacnpal 2024-11-17 00:06:09 +00:00
  • 99fa0864f2 Fix exceptions.py: - Add CogError with proper details - Add missing error classes to __all__ - Fix formatting and spacing - Add proper docstrings - Fix error class inheritance pacnpal 2024-11-16 22:56:18 +00:00
  • 7c898e5aee Fix component_manager.py imports: - Replace string-based imports with direct imports - Update CORE_COMPONENTS to use actual classes - Remove dynamic import logic - Fix relative imports pacnpal 2024-11-16 22:49:57 +00:00
  • d2d07c6bf6 Fix import issues: - Add __all__ list to exceptions.py - Fix absolute imports to use relative imports - Fix duplicate imports - Fix truncated code in download_core.py - Add missing imports and type hints - Fix indentation and formatting issues pacnpal 2024-11-16 22:46:29 +00:00
  • dac21f2fcd fixed pacnpal 2024-11-16 22:32:08 +00:00
  • b7d99490cf refactor: Clean up imports in settings_commands.py pacnpal 2024-11-16 22:13:53 +00:00
  • febfaaeea5 refactor: Clean up imports in database_commands.py pacnpal 2024-11-16 22:10:28 +00:00
  • 6493356670 fix: Improve imports in archiver_commands.py pacnpal 2024-11-16 22:00:22 +00:00
  • b6e397fb95 refactor: Clean up cleanup.py pacnpal 2024-11-16 21:59:13 +00:00
  • 202a909057 fix: Add missing imports in guild.py pacnpal 2024-11-16 21:57:26 +00:00
  • 6f545ef7fd Improve database connection management pacnpal 2024-11-16 21:22:00 +00:00
  • 775781b325 Improve command handling with better error handling, type hints, and organization pacnpal 2024-11-16 21:13:08 +00:00
  • dd467df5fc Created a new constants.py file to store the REACTIONS dictionary Updated all files to import REACTIONS from constants.py instead of reactions.py: queue_processor.py message_handler.py reactions.py (now only contains reaction handling functions) events.py (now imports REACTIONS from constants.py and handle_archived_reaction from reactions.py) core.py queue_handler.py processor/init.py pacnpal 2024-11-16 18:12:35 +00:00
  • 8fe8ba0766 fixed pacnpal 2024-11-16 18:01:08 +00:00
  • 64f75c74c1 fixed databasequerymanager pacnpal 2024-11-16 17:57:37 +00:00
  • bdc1ce4f4c Rename ConnectionManager to DatabaseConnectionManager to fix import error pacnpal 2024-11-16 17:41:25 +00:00
  • 771c32e11b Proper use of hybrid_group for main command groups: pacnpal 2024-11-16 17:37:20 +00:00
  • 82244884db Removed deprecated checks imports from redbot.core.commands Added proper imports from redbot.core.utils.mod Updated all permission decorators to use admin_or_permissions pacnpal 2024-11-16 17:19:20 +00:00
  • 08d5dc56cf Fixed role_manager.py typing issues by adding missing imports (Optional, Any) Added process_queue method to EnhancedVideoQueueManager and updated its initialization Updated component_manager.py to use EnhancedVideoQueueManager correctly Fixed circular imports in the core module by: Moving initialization logic to lifecycle.py Making initialization.py provide thin wrappers that delegate to lifecycle.py Ensuring proper import order in base.py Verified all module init.py files are properly exposing their components: core/init.py exposes VideoArchiver queue/init.py exposes EnhancedVideoQueueManager and dependencies processor/init.py exposes VideoProcessor and related components commands/init.py exposes command setup functions The import chain is now clean: pacnpal 2024-11-16 17:13:11 +00:00
  • e680002731 All module components are now properly initialized and imported: pacnpal 2024-11-16 16:43:02 +00:00
  • 871eccd978 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: pacnpal 2024-11-16 16:35:41 +00:00
  • e937d1a5e2 ok pacnpal 2024-11-16 05:05:21 +00:00
  • a4ca6e8ea6 Core Systems: pacnpal 2024-11-16 05:01:29 +00:00
  • 537a325807 Core Functionality: pacnpal 2024-11-16 03:30:11 +00:00
  • 6aeb87fb40 Added immediate deferral for all slash commands that perform async operations, preventing the "Unknown interaction" error Improved the interaction response handling system to better manage both deferred and non-deferred responses Enhanced error handling around interaction responses Added proper fallback mechanisms for response handling pacnpal 2024-11-16 03:12:22 +00:00
  • e1d65ffcd0 massage pacnpal 2024-11-16 02:11:44 +00:00
  • b2369d6e61 no pacnpal 2024-11-16 02:06:33 +00:00
  • fa494dccd3 fix pacnpal 2024-11-16 01:57:41 +00:00
  • 18792c77f2 fix pacnpal 2024-11-16 01:50:34 +00:00
  • 669db54442 Added proper error handling in enable_database command to handle cases where the setting doesn't exist yet Fixed redbot import issues by importing specific exception classes Ensured database setting is properly synchronized between base.py and config_manager.py Added proper database initialization and reference handling pacnpal 2024-11-16 01:43:17 +00:00
  • 372b7de34a Changed the default "enabled" setting in base.py from True to False to match config_manager.py's default. pacnpal 2024-11-16 01:33:59 +00:00
  • 609aecdc4e Updated default settings (video archiving enabled by default) New database functionality and commands Additional video format support (MKV) Message duration now in hours (0-168) Enhanced error handling and logging Queue persistence and management improvements Hardware acceleration updates More detailed command descriptions Improved performance & limitations documentation pacnpal 2024-11-16 01:22:37 +00:00
  • 01a9067368 Added proper command validation in the on_message event handler to prevent interference with command processing Added missing asyncio import in events.py Ensured all long-running operations are handled in background tasks Fixed task initialization and management in base.py pacnpal 2024-11-16 01:04:08 +00:00
  • 46250b14d0 Fixed the prefix checking logic to properly handle multiple prefixes Commands will now work correctly during initialization Video processing features still wait for full initialization Properly handle both single string and list prefixes pacnpal 2024-11-16 00:42:31 +00:00
  • 18b5d305f3 Commands will now work even during initialization Only video processing features are blocked until initialization completes The on_message event handler now checks if a message is a command first and lets it process normally pacnpal 2024-11-16 00:39:40 +00:00
  • 3520111cec Fixing race conditions and deadlocks in the queue system by: pacnpal 2024-11-16 00:36:46 +00:00
  • 51a4e8f48c Updated update_checker.py to use importlib.metadata instead of the deprecated pkg_resources Verified no other files were using pkg_resources Maintained all existing functionality while using modern Python package version checking pacnpal 2024-11-16 00:29:51 +00:00
  • 32c63deeff Removed the problematic singleton pattern from queue manager Added proper activity tracking in the monitoring system Reduced timeouts and deadlock thresholds Implemented more aggressive cleanup procedures Added system-wide FFmpeg process cleanup pacnpal 2024-11-16 00:24:28 +00:00
  • 39061cbf3e Added proper initialization control: Setup lock in init.py to prevent concurrent cog loads Check for existing cog instance to prevent duplicates Setup_in_progress flag to track initialization state Improved timeout handling and cleanup Enhanced Queue Manager singleton pattern: Class-level lock to prevent multiple instance creation Consistent event naming with _init_event Sequential component initialization Proper lock ordering (global -> queue -> processing) Improved state management: Single source of truth for initialization state Proper cleanup of resources on failure Better error handling and logging Timeout handling for all async operations pacnpal 2024-11-15 23:09:55 +00:00
  • 53e7769811 Added proper initialization sequence in the queue manager: Sequential component initialization Coordination through an _initialized event Consistent lock hierarchy with _global_lock Updated the base cog to properly initialize components: Added timeout handling for queue manager initialization Ensures queue manager is fully initialized before starting queue processing Added proper error handling and cleanup Established consistent lock ordering: Global Lock -> Queue Lock -> Processing Lock Prevents circular wait conditions Each component respects the lock hierarchy Improved task coordination: Sequential initialization of components Proper waiting for initialization before starting operations Timeout handling for all async operations pacnpal 2024-11-15 23:04:13 +00:00
  • 9e7e4a851d Fixed _process_item method: pacnpal 2024-11-15 22:57:21 +00:00
  • c122319eb9 Added the missing process_video method to VideoProcessor that properly delegates to QueueHandler Modified the initialization process to start queue processing as a non-blocking background task Added proper cleanup of the queue task during cog unload Optimized the queue manager's process_queue method to: Use shorter sleep times (0.1s) when queue is empty Persist state less frequently (every 60s) Better handle task switching with asyncio.sleep(0) Improve error recovery with brief pauses These changes resolve both the initial "process_video missing" error and the subsequent "initialization timeout" error by: pacnpal 2024-11-15 22:48:54 +00:00
  • d83c04817e update pacnpal 2024-11-15 22:46:33 +00:00
  • e5459fc3b8 yeah pacnpal 2024-11-15 22:46:10 +00:00
  • 8204df3599 Added process_video method to VideoProcessor class Method delegates to queue_handler.process_video Maintains proper separation of concerns between components Preserves the existing video processing logic pacnpal 2024-11-15 22:42:36 +00:00
  • 512dd1ff88 Eliminating duplicate queue processing that was causing race conditions Adding proper processing state tracking and timing Implementing more aggressive monitoring (1-minute intervals) Adding activity tracking to detect and recover from hung states Improving error handling and logging throughout the system Reducing timeouts and deadlock thresholds for faster recovery pacnpal 2024-11-15 22:38:36 +00:00
  • 73364e7438 ok pacnpal 2024-11-15 22:27:29 +00:00
  • f691d6a96c Fixed a circular import in processor.py by correcting the import statement from 'videoarchiver.processor' to '.processor' Removed the separate commands cog loading from init.py since all commands are now part of the main VideoArchiver class Verified the core/init.py is correctly exporting the VideoArchiver class Removed the redundant video_archiver.py file These changes should resolve both the "No module named 'videoarchiver.commands'" error and the asyncio-related issues by: pacnpal 2024-11-15 22:22:24 +00:00
  • 97e0d9c279 re-structure pacnpal 2024-11-15 22:17:30 +00:00
  • 5fedd97b61 yeah pacnpal 2024-11-15 22:02:19 +00:00
  • 87605ad7f1 Added extremely aggressive timeouts: pacnpal 2024-11-15 21:49:58 +00:00
  • 2025c4e8f0 Fixed the guild_only import by importing it directly from redbot.core.commands Improved the cog unload process by: Reducing cleanup timeouts (UNLOAD_TIMEOUT to 5s, CLEANUP_TIMEOUT to 3s) Adding immediate task cancellation Implementing aggressive cleanup with force_cleanup_resources Clearing all references in the finally block Fixed code indentation issues pacnpal 2024-11-15 21:39:19 +00:00
  • 29f7a6345e fix pacnpal 2024-11-15 21:22:55 +00:00