-
Notifications
You must be signed in to change notification settings - Fork 0
Yt dlp proxy #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Yt dlp proxy #15
Conversation
Replaced direct yt-dlp calls with a new yt-dlp-proxy service. This service handles downloading and also includes logic to update yt-dlp and yt-dlp-proxy automatically if issues arise. - Removed direct yt-dlp dependency from pyproject.toml. - Introduced `update_ytdlp.py` script to manage yt-dlp and yt-dlp-proxy installations/updates. - Created `YtDlpService` to encapsulate yt-dlp-proxy interactions, including download, update, and availability checks. - Modified `download_track_from_url` to use `ytdlp_service.download_with_fallback_update` for robust downloads. - Added startup logic in `main.py` to ensure yt-dlp-proxy is available. - Added comprehensive tests for `YtDlpService`. - Updated Dockerfile to correctly handle user and group creation for file ownership.
Updates the backend Dockerfile to install yt-dlp during the build process and modifies the update script to reflect this change. This ensures yt-dlp is available from the start and simplifies the startup logic. - Installs yt-dlp with default extras in the backend Dockerfile. - Modifies the backend CMD to run `uv sync` and install yt-dlp. - Renames `install_yt_dlp_binary` to `check_yt_dlp_available` in `update_ytdlp.py`. - Updates `update_all` in `update_ytdlp.py` to check for yt-dlp availability instead of installing it. - Adjusts the lifespan logic in `main.py` to check for yt-dlp-proxy availability and log a warning if not found. - Removes `extra_hosts` from the frontend service in `docker-compose.yml`. - Updates the worker command in `docker-compose.yml` to use `uv sync`. - Adds a `down-volumes` target to the `project.mk` Makefile. - Corrects the venv volume mapping in `docker-compose.override.yml.example`.
This commit enhances the error handling and robustness of the yt-dlp proxy update script, ensuring that failures during installation or update do not halt the entire process and are logged appropriately. It also updates the Dockerfile to reflect these changes. - Added try-except blocks to `install_yt_dlp_proxy` and `update_yt_dlp_proxy` methods to catch and log exceptions. - Modified the `update_all` method to return `False` if `install_yt_dlp_proxy` fails, and log a warning if `update_yt_dlp_proxy` fails. - Changed the Dockerfile CMD to execute `python scripts/update_ytdlp.py 4` without `|| true`, ensuring that a failure in the update script will now be visible and potentially stop the container startup if it's critical. - Updated ROADMAP.md to reflect the addition of a custom play icon for shuffle mode.
|
Claude finished @Mayurifag's task —— View job PR Code Review: yt-dlp-proxy IntegrationI've completed a comprehensive review of the yt-dlp-proxy implementation. Here's my analysis: Review Tasks:
🔍 Overall AssessmentThis PR introduces a solid yt-dlp-proxy integration to replace direct yt-dlp usage. The architecture is well-designed with proper error handling, fallback mechanisms, and comprehensive testing. ✅ StrengthsArchitecture & Design
Error Handling & Reliability
Testing
|
No description provided.