summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSamantaz Fox <coding@samantaz.fr>2021-03-20 22:45:27 +0000
committerSamantaz Fox <coding@samantaz.fr>2021-03-21 15:47:44 +0100
commit9bdfb0a32b1d606d1e966ab07d7a05fe56f75643 (patch)
treeeb45dd0ca2e6a3ffc51d2078f488dd240d383c20 /src
parent94ecd29e3520b91cbe16d8099ae6b94272364f05 (diff)
downloadinvidious-9bdfb0a32b1d606d1e966ab07d7a05fe56f75643.tar.gz
invidious-9bdfb0a32b1d606d1e966ab07d7a05fe56f75643.tar.bz2
invidious-9bdfb0a32b1d606d1e966ab07d7a05fe56f75643.zip
Playlist: Support edge case where 'content' in JSON may be erroneously plural
Diffstat (limited to 'src')
-rw-r--r--src/invidious/playlists.cr7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/invidious/playlists.cr b/src/invidious/playlists.cr
index 1ef71a84..508dc760 100644
--- a/src/invidious/playlists.cr
+++ b/src/invidious/playlists.cr
@@ -471,9 +471,12 @@ def extract_playlist_videos(initial_data : Hash(String, JSON::Any))
tabs = initial_data["contents"]["twoColumnBrowseResultsRenderer"]["tabs"]
tabs_renderer = tabs.as_a.select(&.["tabRenderer"]["selected"]?.try &.as_bool)[0]["tabRenderer"]
- if tabs_renderer["contents"]?
+ # Watch out the two versions, with and without "s"
+ if tabs_renderer["contents"]? || tabs_renderer["content"]?
# Initial playlist data
- list_renderer = tabs_renderer.["contents"]["sectionListRenderer"]["contents"][0]
+ tabs_contents = tabs_renderer.["contents"]? || tabs_renderer.["content"]
+
+ list_renderer = tabs_contents.["sectionListRenderer"]["contents"][0]
item_renderer = list_renderer.["itemSectionRenderer"]["contents"][0]
contents = item_renderer.["playlistVideoListRenderer"]["contents"].as_a
else