mirror of
https://git.sr.ht/~cadence/NewLeaf
synced 2024-11-14 12:07:30 +00:00
Add videoThumbnails
This commit is contained in:
parent
69a371fbc0
commit
984781ea3c
30
index.py
30
index.py
@ -100,6 +100,26 @@ def get_length_text_or_live_now(length_container):
|
|||||||
else:
|
else:
|
||||||
return "Live now"
|
return "Live now"
|
||||||
|
|
||||||
|
def generate_video_thumbnails(id):
|
||||||
|
types = [
|
||||||
|
# quality, url part, width, height
|
||||||
|
["maxres", "maxresdefault", 1280, 720],
|
||||||
|
["maxresdefault", "maxresdefault", 180, 720],
|
||||||
|
["sddefault", "sddefault", 640, 480],
|
||||||
|
["high", "hqdefault", 480, 360],
|
||||||
|
["medium", "mqdefault", 320, 180],
|
||||||
|
["default", "default", 120, 90],
|
||||||
|
["start", "1", 120, 90],
|
||||||
|
["middle", "2", 120, 90],
|
||||||
|
["end", "3", 120, 90]
|
||||||
|
]
|
||||||
|
return [{
|
||||||
|
"quality": type[0],
|
||||||
|
"url": "https://i.ytimg.com/vi/{}/{}.jpg".format(id, type[1]),
|
||||||
|
"width": type[2],
|
||||||
|
"height": type[3]
|
||||||
|
} for type in types]
|
||||||
|
|
||||||
class Second(object):
|
class Second(object):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.video_cache = TTLCache(maxsize=50, ttl=300)
|
self.video_cache = TTLCache(maxsize=50, ttl=300)
|
||||||
@ -161,7 +181,7 @@ class Second(object):
|
|||||||
"type": "video",
|
"type": "video",
|
||||||
"title": info["title"],
|
"title": info["title"],
|
||||||
"videoId": info["id"],
|
"videoId": info["id"],
|
||||||
"videoThumbnails": [],
|
"videoThumbnails": generate_video_thumbnails(info["id"]),
|
||||||
"storyboards": None,
|
"storyboards": None,
|
||||||
"description": info["description"],
|
"description": info["description"],
|
||||||
"descriptionHtml": info["description"],
|
"descriptionHtml": info["description"],
|
||||||
@ -263,7 +283,7 @@ class Second(object):
|
|||||||
result["recommendedVideos"] = list({
|
result["recommendedVideos"] = list({
|
||||||
"videoId": r["videoId"],
|
"videoId": r["videoId"],
|
||||||
"title": r["title"]["simpleText"],
|
"title": r["title"]["simpleText"],
|
||||||
"videoThumbnails": [],
|
"videoThumbnails": generate_video_thumbnails(r["videoId"]),
|
||||||
"author": combine_runs(r["longBylineText"]),
|
"author": combine_runs(r["longBylineText"]),
|
||||||
"authorUrl": r["longBylineText"]["runs"][0]["navigationEndpoint"]["commandMetadata"]["webCommandMetadata"]["url"],
|
"authorUrl": r["longBylineText"]["runs"][0]["navigationEndpoint"]["commandMetadata"]["webCommandMetadata"]["url"],
|
||||||
"authorId": r["longBylineText"]["runs"][0]["navigationEndpoint"]["browseEndpoint"]["browseId"],
|
"authorId": r["longBylineText"]["runs"][0]["navigationEndpoint"]["browseEndpoint"]["browseId"],
|
||||||
@ -403,7 +423,7 @@ class Second(object):
|
|||||||
"author": info["uploader"],
|
"author": info["uploader"],
|
||||||
"authorId": info["uploader_id"],
|
"authorId": info["uploader_id"],
|
||||||
"authorUrl": info["uploader_url"],
|
"authorUrl": info["uploader_url"],
|
||||||
"videoThumbnails": [],
|
"videoThumbnails": generate_video_thumbnails(info["id"]),
|
||||||
"description": None,
|
"description": None,
|
||||||
"descriptionHtml": None,
|
"descriptionHtml": None,
|
||||||
"viewCount": None,
|
"viewCount": None,
|
||||||
@ -455,7 +475,7 @@ class Second(object):
|
|||||||
"author": combine_runs(video["longBylineText"]),
|
"author": combine_runs(video["longBylineText"]),
|
||||||
"authorId": video["longBylineText"]["runs"][0]["navigationEndpoint"]["browseEndpoint"]["browseId"],
|
"authorId": video["longBylineText"]["runs"][0]["navigationEndpoint"]["browseEndpoint"]["browseId"],
|
||||||
"authorUrl": video["longBylineText"]["runs"][0]["navigationEndpoint"]["commandMetadata"]["webCommandMetadata"]["url"],
|
"authorUrl": video["longBylineText"]["runs"][0]["navigationEndpoint"]["commandMetadata"]["webCommandMetadata"]["url"],
|
||||||
"videoThumbnails": [],
|
"videoThumbnails": generate_video_thumbnails(video["videoId"]),
|
||||||
"description": combine_runs(video["descriptionSnippet"]) if "descriptionSnippet" in video else "",
|
"description": combine_runs(video["descriptionSnippet"]) if "descriptionSnippet" in video else "",
|
||||||
"descriptionHtml": combine_runs_html(video["descriptionSnippet"]) if "descriptionSnippet" in video else "",
|
"descriptionHtml": combine_runs_html(video["descriptionSnippet"]) if "descriptionSnippet" in video else "",
|
||||||
"viewCount": get_view_count_or_recommended(video),
|
"viewCount": get_view_count_or_recommended(video),
|
||||||
@ -484,7 +504,7 @@ class Second(object):
|
|||||||
"author": None,
|
"author": None,
|
||||||
"authorId": None,
|
"authorId": None,
|
||||||
"authorUrl": None,
|
"authorUrl": None,
|
||||||
"videoThumbnails": [],
|
"videoThumbnails": generate_video_thumbnails(video["id"]),
|
||||||
"description": None,
|
"description": None,
|
||||||
"descriptionHtml": None,
|
"descriptionHtml": None,
|
||||||
"viewCount": None,
|
"viewCount": None,
|
||||||
|
Loading…
Reference in New Issue
Block a user