fix: fix shorts-only playlists by using on-demand ctoken generator
this will allow for retrieving playlist videos as playlistVideoRenderer which we already have a parser for. another benefit is being able to list videos in a playlist which have been deleted/made private. also fixes livestream parsing
This commit is contained in:
@@ -313,6 +313,7 @@ def parseRenderers(entry: dict, context: dict = {}) -> dict:
|
||||
}
|
||||
|
||||
case "playlistVideoRenderer":
|
||||
# used by all content inside of playlists which have at least one non-shorts video/livestream
|
||||
|
||||
video_id = safeTraverse(entry, ["playlistVideoRenderer", "videoId"], default="UnknownVideoId")
|
||||
title = safeTraverse(entry, ["playlistVideoRenderer", "title", "runs", 0, "text"], default="Unknown video title")
|
||||
@@ -321,7 +322,11 @@ def parseRenderers(entry: dict, context: dict = {}) -> dict:
|
||||
video_index = int(safeTraverse(entry, ["playlistVideoRenderer", "index", "simpleText"], default="1")) - 1
|
||||
length = parseLengthFromTimeBadge(safeTraverse(entry, ["playlistVideoRenderer", "lengthText", "simpleText"], default="0:0"))
|
||||
published_date = safeTraverse(entry, ["playlistVideoRenderer", "videoInfo", "runs", -1, "text"], default="2000-01-01")
|
||||
published_date = published_date.removeprefix("Streamed ")
|
||||
published_date = published_date.removeprefix("Streamed ").removeprefix(" watching")
|
||||
|
||||
# handle livestreams
|
||||
if not published_date:
|
||||
published_date = "now"
|
||||
|
||||
return {
|
||||
"type": "video",
|
||||
|
||||
Reference in New Issue
Block a user