fix: incorrect size for parseNext

This commit is contained in:
Shiny Nematoda
2024-08-04 19:30:36 +00:00
parent 6eb02d94fc
commit 2dbf0d2274
3 changed files with 16 additions and 17 deletions
+3 -3
View File
@@ -45,9 +45,9 @@ func parseMoreButton(raw gjson.Result, v string) MoreItem {
return MoreItem{
BrowseId: nav.Get("browseEndpoint.browseId").String(),
Params: nav.Get("browseEndpoint.params").String(),
Click: nav.Get("clickTrackingParams").String(),
Visit: v,
Params: nav.Get("browseEndpoint.params").String(),
Click: nav.Get("clickTrackingParams").String(),
Visit: v,
}
}
+1 -1
View File
@@ -205,7 +205,7 @@ func ResponsiveListItemRendererCH(s gjson.Result) []Item {
}
func NavigationButton(s gjson.Result) []Item {
size := s.Get("#").Int()
size := s.Get("#").Int()
r := make([]Item, size)
wg := sync.WaitGroup{}
+12 -13
View File
@@ -21,16 +21,15 @@ type Next struct {
}
func parseNextSongs(n gjson.Result) []Item {
panel := n.Get("#.playlistPanelVideoRenderer")
np := n.Get("#.playlistPanelVideoRenderer")
size := n.Get("#").Int()
size := np.Get("#").Int()
r := make([]Item, size)
wg := sync.WaitGroup{}
wg.Add(int(size))
np.ForEach(
panel.ForEach(
func(n, v gjson.Result) bool {
go func(i int64, j gjson.Result) {
defer wg.Done()
@@ -56,28 +55,28 @@ func parseNext(raw string) Next {
j := gjson.Parse(raw)
c := j.Get(
contents := j.Get(
"contents.singleColumnMusicWatchNextResultsRenderer.tabbedRenderer.watchNextTabbedResultsRenderer.tabs",
)
m := j.Get(
mediaSession := j.Get(
"playerOverlays.playerOverlayRenderer.browserMediaSession.browserMediaSessionRenderer",
)
n := c.Get(
upNext := contents.Get(
"#(tabRenderer.title == Up next).tabRenderer.content",
).Get("musicQueueRenderer.content.playlistPanelRenderer")
l := c.Get(
lyricsId := contents.Get(
"#(tabRenderer.title == Lyrics).tabRenderer.endpoint.browseEndpoint.browseId",
)
).String()
return Next{
LyricsId: l.String(),
LyricsId: lyricsId,
MediaSession: MediaSession{
Album: RunsText(m.Get("album")),
Thumbnails: GetThumbnails(m.Get("thumbnailDetails.thumbnails")),
Album: RunsText(mediaSession.Get("album")),
Thumbnails: GetThumbnails(mediaSession.Get("thumbnailDetails.thumbnails")),
},
Songs: parseNextSongs(n.Get("contents")),
Songs: parseNextSongs(upNext.Get("contents")),
}
}