mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05: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
	 jonaswinkler
					jonaswinkler