dl/commands/anime-ultime.py
Michel Roux 3a01e58244
All checks were successful
dl / lint (push) Successful in 2m3s
dl / docker (push) Successful in 5m32s
chore: ⬆️ update lock and format
2024-11-29 19:52:49 +01:00

52 lines
1.3 KiB
Python
Executable File

#!/usr/bin/env python3
import argparse
import re
import subprocess
import sys
import time
import requests
parser = argparse.ArgumentParser()
parser.add_argument("url", help="url from anime-ultime.net")
args = parser.parse_args()
nextHop = True
url = args.url
root_url = "http://www.anime-ultime.net"
while nextHop:
r1 = requests.get(url)
m1 = re.search(r"javascript:open_ddlbox\('dl_orig', '([0-9]+)', 'orig'\)", r1.text)
m2 = re.search(r'submit.*:right;.*(info-0-1)/([0-9]+)/([^"]+)', r1.text)
if m1 is None:
break
requests.post(
f"{root_url}/ddl/authorized_download.php",
data={"idfile": m1.group(1), "type": "orig"},
)
timeout = 46
while timeout > 0:
sys.stdout.write("\r")
sys.stdout.flush()
sys.stdout.write(f"Waiting {timeout} seconds ...")
timeout = timeout - 1
time.sleep(1)
r2 = requests.post(
f"{root_url}/ddl/authorized_download.php",
data={"idfile": m1.group(1), "type": "orig"},
)
j = r2.json()
subprocess.call(f"wget -c -t 0 --content-disposition \"{root_url}{j['link']}\"", shell=True)
if m2 is None:
nextHop = False
sys.stdout.write("\r")
sys.stdout.flush()
else:
url = f"{root_url}/{m2.group(1)}/{m2.group(2)}/{m2.group(3)}"