Bump YTM dependencies + add url to provider mappings. (#1539)
authorMarvin Schenkel <marvinschenkel@gmail.com>
Sat, 3 Aug 2024 13:25:00 +0000 (15:25 +0200)
committerGitHub <noreply@github.com>
Sat, 3 Aug 2024 13:25:00 +0000 (15:25 +0200)
Bump YTM dependencies + add url to providermappings.

music_assistant/server/providers/ytmusic/__init__.py
music_assistant/server/providers/ytmusic/manifest.json
requirements_all.txt

index cb317fd977e31ac66ec0a63ea04ce59a444739ef..6b3b35c713ce3ad6cb61a617cb79d33d51564abb 100644 (file)
@@ -108,8 +108,6 @@ SUPPORTED_FEATURES = (
     ProviderFeature.SIMILAR_TRACKS,
 )
 
-YT_DLP_CACHE_SECTION = "youtube-oauth2"
-YT_DLP_CACHE_KEY = "oauth_token"
 
 # TODO: fix disabled tests
 # ruff: noqa: PLW2901, RET504
@@ -612,6 +610,7 @@ class YoutubeMusicProvider(MusicProvider):
                     item_id=str(album_id),
                     provider_domain=self.domain,
                     provider_instance=self.instance_id,
+                    url=f"{YTM_DOMAIN}/playlist?list={album_id}",
                 )
             },
         )
@@ -692,6 +691,7 @@ class YoutubeMusicProvider(MusicProvider):
                     item_id=playlist_id,
                     provider_domain=self.domain,
                     provider_instance=self.instance_id,
+                    url=f"{YTM_DOMAIN}/playlist?list={playlist_id}",
                 )
             },
         )
@@ -720,17 +720,18 @@ class YoutubeMusicProvider(MusicProvider):
         if not track_obj.get("videoId"):
             msg = "Track is missing videoId"
             raise InvalidDataError(msg)
-
+        track_id = str(track_obj["videoId"])
         track = Track(
-            item_id=track_obj["videoId"],
+            item_id=track_id,
             provider=self.domain,
             name=track_obj["title"],
             provider_mappings={
                 ProviderMapping(
-                    item_id=str(track_obj["videoId"]),
+                    item_id=track_id,
                     provider_domain=self.domain,
                     provider_instance=self.instance_id,
                     available=track_obj.get("isAvailable", True),
+                    url=f"{YTM_DOMAIN}/watch?v={track_id}",
                     audio_format=AudioFormat(
                         content_type=ContentType.M4A,
                     ),
index 811315cde551e3efdc7355d59389580ebdfa7a42..0b26ece0416916e3a01becc274e2a9863b146159 100644 (file)
@@ -4,7 +4,7 @@
   "name": "YouTube Music",
   "description": "Support for the YouTube Music streaming provider in Music Assistant.",
   "codeowners": ["@MarvinSchenkel"],
-  "requirements": ["ytmusicapi==1.7.5", "yt-dlp-youtube-accesstoken==0.1.1", "yt-dlp==2024.7.9"],
+  "requirements": ["ytmusicapi==1.8.0", "yt-dlp-youtube-accesstoken==0.1.1", "yt-dlp==2024.7.25"],
   "documentation": "https://music-assistant.io/music-providers/youtube-music/",
   "multi_instance": true
 }
index 989cea91b39e89515a4340a757355b51ebf7ec93..301a7e47172f4b6a9e58eeab279ee4af03eb7504 100644 (file)
@@ -40,7 +40,7 @@ soundcloudpy==0.1.0
 tidalapi==0.7.6
 unidecode==1.3.8
 xmltodict==0.13.0
-yt-dlp==2024.7.9
+yt-dlp==2024.7.25
 yt-dlp-youtube-accesstoken==0.1.1
-ytmusicapi==1.7.5
+ytmusicapi==1.8.0
 zeroconf==0.132.2