diff --git a/hotdog/command/urlinfo_/imdb.py b/hotdog/command/urlinfo_/imdb.py index 8f521b7..14b9aa9 100644 --- a/hotdog/command/urlinfo_/imdb.py +++ b/hotdog/command/urlinfo_/imdb.py @@ -4,9 +4,10 @@ import re from dataclasses import dataclass from dataclasses import replace as clone from datetime import date +from html import escape from pathlib import Path from typing import * -from urllib.parse import urlparse +from urllib.parse import urlencode, urljoin, urlparse import requests @@ -77,6 +78,7 @@ async def import_image(client, url, filename=None): @dataclass class Extracted: title: str + url: str original_image: str genres: List[str] description: str @@ -114,6 +116,7 @@ async def extractor(info): info.extracted = Extracted( title=ld["name"], + url=urljoin(info.final_url, ld["url"]), original_image=ld["image"], genres=ld["genre"], description=ld["description"], @@ -162,8 +165,16 @@ async def handle(message: Message, url, load_info): if ex.rating_count: details.append(f"⭐️ {ex.rating_value:_.01f} ⁄ 10 (👤 {ex.rating_count:_})") details.append(f"🏷 {' ∕ '.join(ex.genres[:3])}") + trailer_link = ( + urlparse("https://www.youtube.com/results") + ._replace( + query=urlencode({"search_query": f"{ex.title} {ex.published:%Y} trailer"}) + ) + .geturl() + ) + details.append(f'📽 trailer') lines = [ - f"{ex.title} ({ex.published:%Y})", + f'{ex.title} ({ex.published:%Y})', f"{', '.join(details)}", f"{capped_text(ex.description, 500)}", ]