From 07280587a9ebe29b275a8dd2af825b21d2ddf684 Mon Sep 17 00:00:00 2001 From: MMaker Date: Fri, 31 Jan 2025 14:19:01 -0500 Subject: [PATCH] Ignore missing thumbnail --- app.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/app.py b/app.py index 213c5e0..ae321a6 100644 --- a/app.py +++ b/app.py @@ -29,18 +29,21 @@ def proxy(video_id): soup = BeautifulSoup(r.text, "html.parser") thumbnail_url = None - if soup.find("meta", {"name": "server-response"}): - params = json.loads(soup.find("meta", {"name": "server-response"})["content"])["data"]["response"] # type: ignore - thumbnail_url = ( # Use highest quality thumbnail available - params["video"]["thumbnail"]["ogp"] - or params["video"]["thumbnail"]["player"] - or params["video"]["thumbnail"]["largeUrl"] - or params["video"]["thumbnail"]["middleUrl"] - or params["video"]["thumbnail"]["url"] - ) + try: + if soup.find("meta", {"name": "server-response"}): + params = json.loads(soup.find("meta", {"name": "server-response"})["content"])["data"]["response"] # type: ignore + thumbnail_url = ( # Use highest quality thumbnail available + params["video"]["thumbnail"]["ogp"] + or params["video"]["thumbnail"]["player"] + or params["video"]["thumbnail"]["largeUrl"] + or params["video"]["thumbnail"]["middleUrl"] + or params["video"]["thumbnail"]["url"] + ) + except (KeyError, json.JSONDecodeError): + pass og_tags = soup.find_all("meta", property=lambda x: x) # type: ignore for tag in og_tags: - if tag.get("property") == "og:image": + if tag.get("property") == "og:image" and thumbnail_url: tag["content"] = thumbnail_url og_tags_str = "\n".join(str(tag) for tag in og_tags) html_response = f"""