Merge pull request #59 from corpnewt/patch-1

Account for Lavalink v4 changes when loading YT playlists
This commit is contained in:
Clxud 2023-09-17 11:33:42 -04:00 committed by GitHub
commit 7829086ae3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 2 deletions

View File

@ -813,6 +813,12 @@ class Node:
return None return None
elif load_type in ("PLAYLIST_LOADED", "playlist"): elif load_type in ("PLAYLIST_LOADED", "playlist"):
if self._version.major >= 4:
track_list = data[data_type]["tracks"]
playlist_info = data[data_type]["info"]
else:
track_list = data[data_type]
playlist_info = data["playlistInfo"]
tracks = [ tracks = [
Track( Track(
track_id=track["encoded"], track_id=track["encoded"],
@ -820,10 +826,10 @@ class Node:
ctx=ctx, ctx=ctx,
track_type=TrackType(track["info"]["sourceName"]), track_type=TrackType(track["info"]["sourceName"]),
) )
for track in data[data_type] for track in track_list
] ]
return Playlist( return Playlist(
playlist_info=data["playlistInfo"], playlist_info=playlist_info,
tracks=tracks, tracks=tracks,
playlist_type=PlaylistType(tracks[0].track_type.value), playlist_type=PlaylistType(tracks[0].track_type.value),
thumbnail=tracks[0].thumbnail, thumbnail=tracks[0].thumbnail,
@ -831,6 +837,8 @@ class Node:
) )
elif load_type in ("SEARCH_RESULT", "TRACK_LOADED", "track", "search"): elif load_type in ("SEARCH_RESULT", "TRACK_LOADED", "track", "search"):
if self._version.major >= 4 and isinstance(data[data_type], dict):
data[data_type] = [data[data_type]]
return [ return [
Track( Track(
track_id=track["encoded"], track_id=track["encoded"],