Skip to content

Instantly share code, notes, and snippets.

@woctezuma
Last active May 23, 2025 13:03
Show Gist options
  • Save woctezuma/2d58a15ded9b5cc81b3227a14875dfc3 to your computer and use it in GitHub Desktop.
Save woctezuma/2d58a15ded9b5cc81b3227a14875dfc3 to your computer and use it in GitHub Desktop.
Download French-dubbed episodes of Columbo which are absent from Amazon Prime Video
from pathlib import Path
from uqload_dl import UQLoad
from uqload_dl.progress_bar import ProgressBar
from uqload_dl.utils import validate_output_file
FOLDER_NAME = "Downloads/Columbo"
FNAME = "columbo_links.txt"
WEBSITE_URL_PREFIX = "https://uqload"
FILE_EXT = ".mp4"
with (Path(FOLDER_NAME) / FNAME).open(encoding="utf8") as f:
lines = f.readlines()
for i, line in enumerate(lines, start=1):
elements = line.split(" ")
if line.startswith(WEBSITE_URL_PREFIX):
url = elements[0].strip()
title = " ".join(elements[1:]).strip()
sanitized_title = validate_output_file(title)
output_file = (Path(FOLDER_NAME) / f"{title}{FILE_EXT}").resolve()
sanitized_output_file = (
Path(FOLDER_NAME) / f"{sanitized_title}{FILE_EXT}"
).resolve()
if output_file.exists() or sanitized_output_file.exists():
print(f"[{i}] Skip {url} because {output_file} already exists.")
continue
else:
print(f"[{i}] Downloading {url} to {output_file}")
uqload = UQLoad(
url=url,
output_dir=FOLDER_NAME,
output_file=title,
on_progress_callback=lambda downloaded, total: ProgressBar(
total
).update(downloaded),
)
uqload.download()
@woctezuma
Copy link
Author

woctezuma commented May 10, 2025

  • [46] Il y a toujours un truc
  • [47] Ombres et lumières
  • [48] Fantasmes
  • [49] Grandes manœuvres et petits soldats
  • [50] Portrait d’un assassin
  • [51] Tout finit par se savoir
  • [52] Votez pour moi
  • [53] L’enterrement de Madame Columbo
  • [54] Couronne mortuaire
  • [55] Meurtre en deux temps
  • [56] Criminologie appliquée
  • [57] Attention : Le meurtre peut nuire à votre santé
  • [58] Jeux d’ombres
  • [59] Meurtre au champagne
  • [60] À chacun son heure
  • [61] Un seul suffira...
  • [62] Le meurtre aux deux visages
  • [63] Face à face
  • [64] Columbo change de peau
  • [65] Une étrange association
  • [66] La griffe du crime
  • [67] En grandes pompes
  • [68] Meurtre en musique
  • [69] Columbo mène la danse

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment