urlinfo:imdb: include link to imdb page & trailer

This commit is contained in:
ducklet 2020-11-18 19:19:06 +01:00
parent fc4aa59f5c
commit c118016700

View file

@ -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'📽 <a href="{escape(trailer_link)}">trailer</a>')
lines = [
f"<b>{ex.title}</b> (<b>{ex.published:%Y}</b>)",
f'<a href="{ex.url}"><b>{ex.title}</b></a> (<b>{ex.published:%Y}</b>)',
f"{', '.join(details)}",
f"<i>{capped_text(ex.description, 500)}</i>",
]