mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-11-03 03:16:10 -06:00 
			
		
		
		
	fixes an issue with paperless not assigning metadata when FILENAME_FORMAT is specified and resolves an invalid warning about missing files fixes #67
This commit is contained in:
		@@ -167,6 +167,11 @@ class Consumer(LoggingMixin):
 | 
				
			|||||||
                self._write(document, self.path, document.source_path)
 | 
					                self._write(document, self.path, document.source_path)
 | 
				
			||||||
                self._write(document, thumbnail, document.thumbnail_path)
 | 
					                self._write(document, thumbnail, document.thumbnail_path)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                # Afte performing all database operations and moving files
 | 
				
			||||||
 | 
					                # into place, tell paperless where the file is.
 | 
				
			||||||
 | 
					                document.filename = generate_filename(document)
 | 
				
			||||||
 | 
					                document.save()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                # Delete the file only if it was successfully consumed
 | 
					                # Delete the file only if it was successfully consumed
 | 
				
			||||||
                self.log("debug", "Deleting file {}".format(self.path))
 | 
					                self.log("debug", "Deleting file {}".format(self.path))
 | 
				
			||||||
                os.unlink(self.path)
 | 
					                os.unlink(self.path)
 | 
				
			||||||
@@ -217,12 +222,6 @@ class Consumer(LoggingMixin):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        self.apply_overrides(document)
 | 
					        self.apply_overrides(document)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        document.filename = generate_filename(document)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # We need to save the document twice, since we need the PK of the
 | 
					 | 
				
			||||||
        # document in order to create its filename above.
 | 
					 | 
				
			||||||
        document.save()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        return document
 | 
					        return document
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def apply_overrides(self, document):
 | 
					    def apply_overrides(self, document):
 | 
				
			||||||
 
 | 
				
			|||||||
| 
		 Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.7 KiB  | 
@@ -34,8 +34,8 @@ class TestDecryptDocuments(TestCase):
 | 
				
			|||||||
            PASSPHRASE="test"
 | 
					            PASSPHRASE="test"
 | 
				
			||||||
        ).enable()
 | 
					        ).enable()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        shutil.copy(os.path.join(os.path.dirname(__file__), "samples", "originals", "0000002.pdf.gpg"), os.path.join(originals_dir, "0000002.pdf.gpg"))
 | 
					        shutil.copy(os.path.join(os.path.dirname(__file__), "samples", "documents", "originals", "0000002.pdf.gpg"), os.path.join(originals_dir, "0000002.pdf.gpg"))
 | 
				
			||||||
        shutil.copy(os.path.join(os.path.dirname(__file__), "samples", "thumb", "0000002.png.gpg"), os.path.join(thumb_dir, "0000002.png.gpg"))
 | 
					        shutil.copy(os.path.join(os.path.dirname(__file__), "samples", "documents", "thumbnails", "0000002.png.gpg"), os.path.join(thumb_dir, "0000002.png.gpg"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Document.objects.create(checksum="9c9691e51741c1f4f41a20896af31770", title="wow", filename="0000002.pdf.gpg", id=2, mime_type="application/pdf", storage_type=Document.STORAGE_TYPE_GPG)
 | 
					        Document.objects.create(checksum="9c9691e51741c1f4f41a20896af31770", title="wow", filename="0000002.pdf.gpg", id=2, mime_type="application/pdf", storage_type=Document.STORAGE_TYPE_GPG)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,7 @@
 | 
				
			|||||||
import hashlib
 | 
					import hashlib
 | 
				
			||||||
import json
 | 
					import json
 | 
				
			||||||
import os
 | 
					import os
 | 
				
			||||||
 | 
					import shutil
 | 
				
			||||||
import tempfile
 | 
					import tempfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from django.core.management import call_command
 | 
					from django.core.management import call_command
 | 
				
			||||||
@@ -8,17 +9,19 @@ from django.test import TestCase, override_settings
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
from documents.management.commands import document_exporter
 | 
					from documents.management.commands import document_exporter
 | 
				
			||||||
from documents.models import Document, Tag, DocumentType, Correspondent
 | 
					from documents.models import Document, Tag, DocumentType, Correspondent
 | 
				
			||||||
 | 
					from documents.tests.utils import DirectoriesMixin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class TestExporter(TestCase):
 | 
					class TestExporter(DirectoriesMixin, TestCase):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @override_settings(
 | 
					    @override_settings(
 | 
				
			||||||
        ORIGINALS_DIR=os.path.join(os.path.dirname(__file__), "samples", "originals"),
 | 
					 | 
				
			||||||
        THUMBNAIL_DIR=os.path.join(os.path.dirname(__file__), "samples", "thumb"),
 | 
					 | 
				
			||||||
        PASSPHRASE="test"
 | 
					        PASSPHRASE="test"
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
    def test_exporter(self):
 | 
					    def test_exporter(self):
 | 
				
			||||||
        file = os.path.join(os.path.dirname(__file__), "samples", "originals", "0000001.pdf")
 | 
					        shutil.rmtree(os.path.join(self.dirs.media_dir, "documents"))
 | 
				
			||||||
 | 
					        shutil.copytree(os.path.join(os.path.dirname(__file__), "samples", "documents"), os.path.join(self.dirs.media_dir, "documents"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        file = os.path.join(self.dirs.originals_dir, "0000001.pdf")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        with open(file, "rb") as f:
 | 
					        with open(file, "rb") as f:
 | 
				
			||||||
            checksum = hashlib.md5(f.read()).hexdigest()
 | 
					            checksum = hashlib.md5(f.read()).hexdigest()
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user