diff --git a/lib/artist.go b/lib/artist.go index 2205f26..67b9f76 100644 --- a/lib/artist.go +++ b/lib/artist.go @@ -29,16 +29,16 @@ func parseArtist(raw string) (string, error) { s := c.Get("#(musicShelfRenderer.title.runs.0.text == Songs).musicShelfRenderer") a := c.Get( - "#(musicCarouselShelfRenderer.header.musicCarouselShelfBasicHeaderRenderer", - ).Get("title.runs.0.text == Albums).musicCarouselShelfRenderer") + "#(musicCarouselShelfRenderer.header.musicCarouselShelfBasicHeaderRenderer.title.runs.0.text == Albums).musicCarouselShelfRenderer", + ) m := c.Get( - "#(musicCarouselShelfRenderer.header.musicCarouselShelfBasicHeaderRenderer", - ).Get("title.runs.0.text == Singles).musicCarouselShelfRenderer") + "#(musicCarouselShelfRenderer.header.musicCarouselShelfBasicHeaderRenderer.title.runs.0.text == Singles).musicCarouselShelfRenderer", + ) u := c.Get( - "#(musicCarouselShelfRenderer.header.musicCarouselShelfBasicHeaderRenderer", - ).Get("title.runs.0.text == Fans might also like).musicCarouselShelfRenderer") + "#(musicCarouselShelfRenderer.header.musicCarouselShelfBasicHeaderRenderer.title.runs.0.text == Fans might also like).musicCarouselShelfRenderer", + ) val := Artist{ Title: RunsText(h.Get("title")), diff --git a/lib/charts.go b/lib/charts.go index c042a59..e456bf7 100644 --- a/lib/charts.go +++ b/lib/charts.go @@ -31,14 +31,12 @@ func parseCharts(raw string) (string, error) { ) a := c.Get( - "#(musicCarouselShelfRenderer.header.musicCarouselShelfBasicHeaderRenderer", - ).Get( - "title.runs.0.text == Top artists).musicCarouselShelfRenderer.contents", - ) + "#(musicCarouselShelfRenderer.header.musicCarouselShelfBasicHeaderRenderer.title.runs.0.text == Top artists)", + ).Get("musicCarouselShelfRenderer.contents") t := c.Get( - "#(musicCarouselShelfRenderer.header.musicCarouselShelfBasicHeaderRenderer", - ).Get("title.runs.0.text == Trending).musicCarouselShelfRenderer.contents") + "#(musicCarouselShelfRenderer.header.musicCarouselShelfBasicHeaderRenderer.title.runs.0.text == Trending)", + ).Get("musicCarouselShelfRenderer.contents") opts := o.Get( "menu.musicMultiSelectMenuRenderer.options.#.musicMultiSelectMenuItemRenderer", diff --git a/lib/common.go b/lib/common.go index ce94cb6..fa15788 100644 --- a/lib/common.go +++ b/lib/common.go @@ -101,11 +101,9 @@ func GetThumbnails(j gjson.Result) []Thumbnail { func TwoRowItemRenderer(a gjson.Result, t bool) []Item { - var id string + id := "menu.menuRenderer.items.#(menuNavigationItemRenderer.text.runs.0.text == Shuffle play).menuNavigationItemRenderer.navigationEndpoint.watchPlaylistEndpoint.playlistId" - if t { - id = "menu.menuRenderer.items.#(menuNavigationItemRenderer.text.runs.0.text == Shuffle play).menuNavigationItemRenderer.navigationEndpoint.watchPlaylistEndpoint.playlistId" - } else { + if !t { id = "navigationEndpoint.browseEndpoint.browseId" } diff --git a/lib/genres.go b/lib/genres.go index a382ce7..41ac4b4 100644 --- a/lib/genres.go +++ b/lib/genres.go @@ -16,8 +16,11 @@ func parseGenres(raw string) (string, error) { j := gjson.Parse(raw) - c := j.Get("contents.singleColumnBrowseResultsRenderer.tabs.0.tabRenderer" + - ".content.sectionListRenderer.contents.#.gridRenderer") + c := j.Get( + "contents.singleColumnBrowseResultsRenderer.tabs.0.tabRenderer", + ).Get( + "content.sectionListRenderer.contents.#.gridRenderer", + ) m := c.Get("#(header.gridHeaderRenderer.title.runs.0.text == Moods & moments)") g := c.Get("#(header.gridHeaderRenderer.title.runs.0.text == Genres)")