From 2337fc155c3af0e969849b06c53c5b383bc3e09a Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 2 Aug 2025 09:45:46 -0400 Subject: [PATCH] Save edited PDF to temp file before replacing original --- src/documents/bulk_edit.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/documents/bulk_edit.py b/src/documents/bulk_edit.py index 8ef807da8..13c95ce6c 100644 --- a/src/documents/bulk_edit.py +++ b/src/documents/bulk_edit.py @@ -542,9 +542,13 @@ def edit_pdf( dst.pages[-1].rotate(op["rotate"], relative=True) if update_document: + temp_path = doc.source_path.with_suffix(".tmp.pdf") pdf = pdf_docs[0] pdf.remove_unreferenced_resources() - pdf.save(doc.source_path) + # save the edited PDF to a temporary file in case of errors + pdf.save(temp_path) + # replace the original document with the edited one + temp_path.replace(doc.source_path) doc.checksum = hashlib.md5(doc.source_path.read_bytes()).hexdigest() doc.page_count = len(pdf.pages) doc.save() -- 2.47.2