From 46543d1f74936beb7fdb2c70cde765e7453a2445 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Wed, 1 Jan 2025 21:21:58 +0100 Subject: [PATCH] fix: reorder delete/register --- scanner/scanner/scanner.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/scanner/scanner/scanner.py b/scanner/scanner/scanner.py index 02633c71..a5209d93 100644 --- a/scanner/scanner/scanner.py +++ b/scanner/scanner/scanner.py @@ -49,14 +49,19 @@ async def scan( to_register = videos - registered to_delete = registered - videos if remove_deleted else set() - if to_register: - logger.info("Found %d new files to register.", len(to_register)) - await asyncio.gather(*[publisher.add(path) for path in to_register]) + if not any(to_register) and any(to_delete) and len(to_delete) == len(registered): + logger.warning("All video files are unavailable. Check your disks.") + return + # delete stale files before creating new ones to prevent potential conflicts if to_delete: logger.info("Removing %d stale files.", len(to_delete)) await asyncio.gather(*[publisher.delete(path) for path in to_delete]) + if to_register: + logger.info("Found %d new files to register.", len(to_register)) + await asyncio.gather(*[publisher.add(path) for path in to_register]) + if remove_deleted: issues = set(await client.get_issues()) issues_to_delete = issues - videos