From 9aa2ac463a4dcae9f126837e7ec47054bd11252b Mon Sep 17 00:00:00 2001 From: Broque Thomas Date: Tue, 6 Jan 2026 21:13:16 -0800 Subject: [PATCH] Add Docker path resolution for downloads Updated _find_downloaded_file to resolve download paths for Docker environments, ensuring compatibility with host-mounted directories. Also updated README to clarify YouTube integration and sources. --- README.md | 4 ++-- web_server.py | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 23139412..9ae830e6 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ SoulSync bridges streaming services to your media server with automated discover ### Multi-Source Downloads -**Sources**: Soulseek (FLAC priority), Beatport charts, Spotify/Tidal/YouTube playlists +**Sources**: Soulseek (FLAC priority), YouTube (Audio), Beatport charts, Spotify/Tidal playlists **Features** - Quality profiles: Audiophile, Balanced, Mobile @@ -174,7 +174,7 @@ python web_server.py **Scale**: 83,000+ lines Python, 120+ API endpoints, handles 10,000+ album libraries -**Integrations**: Spotify, Tidal, Plex, Jellyfin, Navidrome, Slskd, ListenBrainz, LRClib, music-map.com, Beatport +**Integrations**: Spotify, Tidal, YouTube, Plex, Jellyfin, Navidrome, Slskd, ListenBrainz, LRClib, music-map.com, Beatport **Stack**: Python 3.8+, Flask, SQLite, PyQt6 (desktop GUI in maintenance mode) diff --git a/web_server.py b/web_server.py index 59b59c7b..77312d14 100644 --- a/web_server.py +++ b/web_server.py @@ -1372,6 +1372,9 @@ def _find_streaming_download_in_all_downloads(all_downloads, track_data): def _find_downloaded_file(download_path, track_data): """Find the downloaded audio file in the downloads directory tree (works for Soulseek and YouTube)""" + # Ensure path is accessible in Docker (handles E:/ -> /host/mnt/e/) + download_path = docker_resolve_path(download_path) + audio_extensions = {'.mp3', '.flac', '.ogg', '.aac', '.wma', '.wav', '.m4a'} target_filename = extract_filename(track_data.get('filename', ''))