mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-26 00:02:35 -04:00 
			
		
		
		
	fixes #591
This commit is contained in:
		
							parent
							
								
									99a18516b2
								
							
						
					
					
						commit
						d64818b46c
					
				| @ -31,6 +31,11 @@ def handle_document(document_id): | |||||||
| 
 | 
 | ||||||
|     parser_class = get_parser_class_for_mime_type(mime_type) |     parser_class = get_parser_class_for_mime_type(mime_type) | ||||||
| 
 | 
 | ||||||
|  |     if not parser_class: | ||||||
|  |         logger.error(f"No parser found for mime type {mime_type}, cannot " | ||||||
|  |                      f"archive document {document} (ID: {document_id})") | ||||||
|  |         return | ||||||
|  | 
 | ||||||
|     parser = parser_class(logging_group=uuid.uuid4()) |     parser = parser_class(logging_group=uuid.uuid4()) | ||||||
| 
 | 
 | ||||||
|     try: |     try: | ||||||
| @ -66,11 +71,12 @@ def handle_document(document_id): | |||||||
|                                 document.archive_path) |                                 document.archive_path) | ||||||
|                     shutil.move(thumbnail, document.thumbnail_path) |                     shutil.move(thumbnail, document.thumbnail_path) | ||||||
| 
 | 
 | ||||||
|         with AsyncWriter(index.open_index()) as writer: |             with index.open_index_writer() as writer: | ||||||
|                 index.update_document(writer, document) |                 index.update_document(writer, document) | ||||||
| 
 | 
 | ||||||
|     except Exception as e: |     except Exception as e: | ||||||
|         logger.exception(f"Error while parsing document {document}") |         logger.exception(f"Error while parsing document {document} " | ||||||
|  |                          f"(ID: {document_id})") | ||||||
|     finally: |     finally: | ||||||
|         parser.cleanup() |         parser.cleanup() | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -49,6 +49,21 @@ class TestArchiver(DirectoriesMixin, TestCase): | |||||||
|         self.assertTrue(filecmp.cmp(sample_file, doc.source_path)) |         self.assertTrue(filecmp.cmp(sample_file, doc.source_path)) | ||||||
|         self.assertEqual(doc.archive_filename, "none/A.pdf") |         self.assertEqual(doc.archive_filename, "none/A.pdf") | ||||||
| 
 | 
 | ||||||
|  |     def test_unknown_mime_type(self): | ||||||
|  |         doc = self.make_models() | ||||||
|  |         doc.mime_type = "sdgfh" | ||||||
|  |         doc.save() | ||||||
|  |         shutil.copy(sample_file, doc.source_path) | ||||||
|  | 
 | ||||||
|  |         handle_document(doc.pk) | ||||||
|  | 
 | ||||||
|  |         doc = Document.objects.get(id=doc.id) | ||||||
|  | 
 | ||||||
|  |         self.assertIsNotNone(doc.checksum) | ||||||
|  |         self.assertIsNone(doc.archive_checksum) | ||||||
|  |         self.assertIsNone(doc.archive_filename) | ||||||
|  |         self.assertTrue(os.path.isfile(doc.source_path)) | ||||||
|  | 
 | ||||||
|     @override_settings(PAPERLESS_FILENAME_FORMAT="{title}") |     @override_settings(PAPERLESS_FILENAME_FORMAT="{title}") | ||||||
|     def test_naming_priorities(self): |     def test_naming_priorities(self): | ||||||
|         doc1 = Document.objects.create(checksum="A", title="document", content="first document", mime_type="application/pdf", filename="document.pdf") |         doc1 = Document.objects.create(checksum="A", title="document", content="first document", mime_type="application/pdf", filename="document.pdf") | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user