]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Fix: use temp dir for split / merge (#7105)
authorshamoon <4887959+shamoon@users.noreply.github.com>
Wed, 26 Jun 2024 17:46:59 +0000 (10:46 -0700)
committerGitHub <noreply@github.com>
Wed, 26 Jun 2024 17:46:59 +0000 (10:46 -0700)
src/documents/bulk_edit.py

index 7733a8d68e7d688d312d0da9a2c7bd67109cf475..7f56a120798c1d9b27259ffdb020b9d96e02b977 100644 (file)
@@ -2,6 +2,7 @@ import hashlib
 import itertools
 import logging
 import os
+import tempfile
 from typing import Optional
 
 from celery import chain
@@ -269,7 +270,7 @@ def merge(
         return "OK"
 
     filepath = os.path.join(
-        settings.SCRATCH_DIR,
+        tempfile.mkdtemp(dir=settings.SCRATCH_DIR),
         f"{'_'.join([str(doc_id) for doc_id in doc_ids])[:100]}_merged.pdf",
     )
     merged_pdf.remove_unreferenced_resources()
@@ -321,7 +322,7 @@ def split(doc_ids: list[int], pages: list[list[int]], delete_originals: bool = F
                 for page in split_doc:
                     dst.pages.append(pdf.pages[page - 1])
                 filepath = os.path.join(
-                    settings.SCRATCH_DIR,
+                    tempfile.mkdtemp(dir=settings.SCRATCH_DIR),
                     f"{doc.id}_{split_doc[0]}-{split_doc[-1]}.pdf",
                 )
                 dst.remove_unreferenced_resources()