From 4cdcc64ed9cbf05032380919cf3a9987b301b962 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C4=90=E1=BA=B7ng=20Ng=E1=BB=8Dc=20Qu=E1=BA=A3ng?= Date: Tue, 16 Aug 2022 06:33:36 +0700 Subject: [PATCH] Fix Youtube Music support for some countries (#454) * support some country that not supported youtube music --- music_assistant/music_providers/ytmusic/ytmusic.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/music_assistant/music_providers/ytmusic/ytmusic.py b/music_assistant/music_providers/ytmusic/ytmusic.py index 960cbd09..9e2b1c74 100644 --- a/music_assistant/music_providers/ytmusic/ytmusic.py +++ b/music_assistant/music_providers/ytmusic/ytmusic.py @@ -50,6 +50,7 @@ from music_assistant.music_providers.ytmusic.helpers import ( search, ) +YT_DOMAIN = "https://www.youtube.com" YTM_DOMAIN = "https://music.youtube.com" YTM_BASE_URL = f"{YTM_DOMAIN}/youtubei/v1/" @@ -612,6 +613,10 @@ class YoutubeMusicProvider(MusicProvider): """Get a signature timestamp required to generate valid stream URLs.""" response = await self._get_data(url=YTM_DOMAIN) match = re.search(r'jsUrl"\s*:\s*"([^"]+)"', response) + if match is None: + # retry with youtube domain + response = await self._get_data(url=YT_DOMAIN) + match = re.search(r'jsUrl"\s*:\s*"([^"]+)"', response) if match is None: raise Exception("Could not identify the URL for base.js player.") url = YTM_DOMAIN + match.group(1) -- 2.34.1