[O] Reuse existing

This commit is contained in:
2026-03-09 02:12:07 -04:00
parent 4c4615e784
commit 7494a71403
+21 -4
View File
@@ -80,6 +80,24 @@ def process_imdb_workflow(imdb_id: str, dl_dir: str = "/data/QB", jellyfin_base_
else: else:
jellyfin_dir = f"{jellyfin_base_dir}/Movie" jellyfin_dir = f"{jellyfin_base_dir}/Movie"
print(f"\n=== [0.5] Checking if torrent already exists in qBittorrent ===")
qb = get_qb_client()
jellyfin_base = Path(jellyfin_dir) / f"{title_dir} [{imdb_id}]"
new_name = f"{year} {title} [{imdb_id}]".strip()
existing_torrents = qb.torrents_info()
existing_t_hash = None
for t in existing_torrents:
if f"[{imdb_id}]" in t.name:
existing_t_hash = t.hash
break
hashes_to_process = []
if existing_t_hash:
print(f"Found existing torrent with hash {existing_t_hash}, skipping search and download.")
hashes_to_process.append((existing_t_hash, "existing"))
else:
print(f"\n=== [1] Searching Torrents for {imdb_id} ===") print(f"\n=== [1] Searching Torrents for {imdb_id} ===")
imdb_url = f"https://www.imdb.com/title/{imdb_id}/" imdb_url = f"https://www.imdb.com/title/{imdb_id}/"
search_res = search_mteam_torrents(imdb_url) search_res = search_mteam_torrents(imdb_url)
@@ -114,9 +132,6 @@ def process_imdb_workflow(imdb_id: str, dl_dir: str = "/data/QB", jellyfin_base_
print("No torrents selected.") print("No torrents selected.")
return return
qb = get_qb_client()
jellyfin_base = Path(jellyfin_dir) / f"{title_dir} [{imdb_id}]"
for tid in selected_ids: for tid in selected_ids:
print(f"\n=== [3] Downloading .torrent for ID: {tid} ===") print(f"\n=== [3] Downloading .torrent for ID: {tid} ===")
torrent_bytes = generate_mteam_download_token(tid) torrent_bytes = generate_mteam_download_token(tid)
@@ -136,7 +151,6 @@ def process_imdb_workflow(imdb_id: str, dl_dir: str = "/data/QB", jellyfin_base_
print(f"Tracking torrent Hash: {t_hash}") print(f"Tracking torrent Hash: {t_hash}")
new_name = f"{year} {title}".strip()
rename_torrent_and_folder(qb, t_hash, new_name) rename_torrent_and_folder(qb, t_hash, new_name)
while True: while True:
@@ -156,6 +170,9 @@ def process_imdb_workflow(imdb_id: str, dl_dir: str = "/data/QB", jellyfin_base_
time.sleep(5) time.sleep(5)
print("Download complete!") print("Download complete!")
hashes_to_process.append((t_hash, tid))
for t_hash, tid in hashes_to_process:
print(f"\n=== [6] Generating rename mapping using LLM ===") print(f"\n=== [6] Generating rename mapping using LLM ===")
file_tree = get_torrent_file_tree(qb, t_hash) file_tree = get_torrent_file_tree(qb, t_hash)