From 96bf541e65aeade07cd78b6cab196c21d284488e Mon Sep 17 00:00:00 2001 From: Jonathan Bell <1707639+jonathanbell@users.noreply.github.com> Date: Tue, 21 May 2024 14:23:47 -0700 Subject: [PATCH 1/3] parse_seach_result: add playlist id to album search --- ytmusicapi/parsers/search.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ytmusicapi/parsers/search.py b/ytmusicapi/parsers/search.py index eab2e390..01af41d4 100644 --- a/ytmusicapi/parsers/search.py +++ b/ytmusicapi/parsers/search.py @@ -159,6 +159,13 @@ def parse_search_result(data, search_result_types, result_type, category): if result_type in ["song", "album"]: search_result["isExplicit"] = nav(data, BADGE_LABEL, True) is not None + if result_type in ["album"]: + search_result["playlistId"] = nav( + data, + [*PLAY_BUTTON, "playNavigationEndpoint", "watchEndpoint", "playlistId"], + True, + ) + if result_type in ["episode"]: flex_item = get_flex_column_item(data, 1) has_date = int(len(nav(flex_item, TEXT_RUNS)) > 1) From 2a37638b55429e2ac8212ff36cd862786bf7e648 Mon Sep 17 00:00:00 2001 From: sigma67 Date: Sat, 25 May 2024 10:09:10 +0200 Subject: [PATCH 2/3] fix docs --- ytmusicapi/mixins/search.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ytmusicapi/mixins/search.py b/ytmusicapi/mixins/search.py index 22e974db..29aa537f 100644 --- a/ytmusicapi/mixins/search.py +++ b/ytmusicapi/mixins/search.py @@ -83,8 +83,9 @@ def search( { "category": "Albums", "resultType": "album", - "browseId": "MPREb_9nqEki4ZDpp", - "title": "(What's The Story) Morning Glory? (Remastered)", + "browseId": "MPREb_IInSY5QXXrW", + "playlistId": "OLAK5uy_kunInnOpcKECWIBQGB0Qj6ZjquxDvfckg", + "title": "(What's The Story) Morning Glory?", "type": "Album", "artist": "Oasis", "year": "1995", From 2c3ee5c9f2670aa5cc6b3d584cb6b980ab1f729a Mon Sep 17 00:00:00 2001 From: sigma67 Date: Sat, 25 May 2024 10:09:25 +0200 Subject: [PATCH 3/3] add to top result --- ytmusicapi/parsers/search.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ytmusicapi/parsers/search.py b/ytmusicapi/parsers/search.py index 01af41d4..f2efa1b1 100644 --- a/ytmusicapi/parsers/search.py +++ b/ytmusicapi/parsers/search.py @@ -46,6 +46,7 @@ def parse_top_result(data, search_result_types): if result_type in ["album"]: search_result["browseId"] = nav(data, TITLE + NAVIGATION_BROWSE_ID, True) + search_result["playlistId"] = nav(data, ["buttons", 0, "buttonRenderer", "command", *WATCH_PID], True) if result_type in ["playlist"]: search_result["playlistId"] = nav(data, MENU_PLAYLIST_ID)