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 dataclass
|
||||||
from dataclasses import replace as clone
|
from dataclasses import replace as clone
|
||||||
from datetime import date
|
from datetime import date
|
||||||
|
from html import escape
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import *
|
from typing import *
|
||||||
from urllib.parse import urlparse
|
from urllib.parse import urlencode, urljoin, urlparse
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
|
|
@ -77,6 +78,7 @@ async def import_image(client, url, filename=None):
|
||||||
@dataclass
|
@dataclass
|
||||||
class Extracted:
|
class Extracted:
|
||||||
title: str
|
title: str
|
||||||
|
url: str
|
||||||
original_image: str
|
original_image: str
|
||||||
genres: List[str]
|
genres: List[str]
|
||||||
description: str
|
description: str
|
||||||
|
|
@ -114,6 +116,7 @@ async def extractor(info):
|
||||||
|
|
||||||
info.extracted = Extracted(
|
info.extracted = Extracted(
|
||||||
title=ld["name"],
|
title=ld["name"],
|
||||||
|
url=urljoin(info.final_url, ld["url"]),
|
||||||
original_image=ld["image"],
|
original_image=ld["image"],
|
||||||
genres=ld["genre"],
|
genres=ld["genre"],
|
||||||
description=ld["description"],
|
description=ld["description"],
|
||||||
|
|
@ -162,8 +165,16 @@ async def handle(message: Message, url, load_info):
|
||||||
if ex.rating_count:
|
if ex.rating_count:
|
||||||
details.append(f"⭐️ {ex.rating_value:_.01f} ⁄ 10 (👤 {ex.rating_count:_})")
|
details.append(f"⭐️ {ex.rating_value:_.01f} ⁄ 10 (👤 {ex.rating_count:_})")
|
||||||
details.append(f"🏷 {' ∕ '.join(ex.genres[:3])}")
|
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 = [
|
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"{', '.join(details)}",
|
||||||
f"<i>{capped_text(ex.description, 500)}</i>",
|
f"<i>{capped_text(ex.description, 500)}</i>",
|
||||||
]
|
]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue