59 search_results = resp.json()
60 base_invidious_url = resp.search_params[
'base_url'] +
"/watch?v="
62 for result
in search_results:
63 rtype = result.get(
"type",
None)
65 videoid = result.get(
"videoId",
None)
69 url = base_invidious_url + videoid
70 thumbs = result.get(
"videoThumbnails", [])
71 thumb = next((th
for th
in thumbs
if th[
"quality"] ==
"sddefault"),
None)
73 thumbnail = thumb.get(
"url",
"")
79 if thumbnail
and not urlparse(thumbnail).netloc:
80 thumbnail = resp.search_params[
'base_url'] + thumbnail
82 publishedDate = parser.parse(time.ctime(result.get(
"published", 0)))
83 length = time.gmtime(result.get(
"lengthSeconds"))
85 length = time.strftime(
"%H:%M:%S", length)
87 length = time.strftime(
"%M:%S", length)
92 "title": result.get(
"title",
""),
93 "content": result.get(
"description",
""),
95 "template":
"videos.html",
96 "author": result.get(
"author"),
97 "publishedDate": publishedDate,
98 "iframe_src": resp.search_params[
'base_url'] +
'/embed/' + videoid,
99 "thumbnail": thumbnail,