From b36445d2030ba9ce2b69e64c5cc4143348312c9d Mon Sep 17 00:00:00 2001 From: Antigravity Date: Mon, 12 Oct 2026 11:22:33 +0300 Subject: [PATCH] fix(yandex): support /track/ID url regex and live reload volume --- app/main.py | 2 +- app/providers/yandex.py | 8 ++++++++ docker-compose.yml | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/main.py b/app/main.py index 5c4e815..3f369a8 100644 --- a/app/main.py +++ b/app/main.py @@ -25,7 +25,7 @@ def on_startup(): @app.get("/") def read_root(request: Request): - return templates.TemplateResponse("index.html", {"request": request}) + return templates.TemplateResponse(request=request, name="index.html") @app.post("/api/download") async def start_download(req: DownloadRequest): diff --git a/app/providers/yandex.py b/app/providers/yandex.py index 1e865aa..128d675 100644 --- a/app/providers/yandex.py +++ b/app/providers/yandex.py @@ -54,6 +54,14 @@ class YandexMusicProvider(BaseProvider): meta = self._convert_track(t) return [meta] if meta else [] + # Direct track match: /track/123 + direct_track = re.search(r'/track/(\d+)', url) + if direct_track: + track_id = direct_track.group(1) + t = client.tracks([track_id])[0] + meta = self._convert_track(t) + return [meta] if meta else [] + # Album match: /album/123 album_match = re.search(r'/album/(\d+)', url) if album_match: diff --git a/docker-compose.yml b/docker-compose.yml index 3c0e990..3a6943e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,5 +8,6 @@ services: volumes: - /home/ai-projects/services/music.qpid.pro/music:/music - ./data:/app/data + - ./app:/app/app env_file: - .env