urlinfo:imdb: include link to imdb page & trailer
This commit is contained in:
parent
fc4aa59f5c
commit
c118016700
1 changed files with 13 additions and 2 deletions
|
|
@ -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>",
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue