from pathlib import Path from uuid import UUID import requests from PIL import Image def get_year_from_date(first_air_date: str | None) -> int | None: if first_air_date: return int(first_air_date.split("-")[0]) return None def download_poster_image(storage_path: Path, poster_url: str, uuid: UUID) -> bool: res = requests.get(poster_url, stream=True, timeout=60) if res.status_code == 200: image_file_path = storage_path.joinpath(str(uuid)).with_suffix(".jpg") image_file_path.write_bytes(res.content) original_image = Image.open(image_file_path) original_image.save(image_file_path.with_suffix(".avif"), quality=50) original_image.save(image_file_path.with_suffix(".webp"), quality=50) return True return False