mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-11-03 03:16:10 -06:00 
			
		
		
		
	more metadata #32
This commit is contained in:
		@@ -496,7 +496,7 @@ class TestDocumentApi(DirectoriesMixin, APITestCase):
 | 
			
		||||
        async_task.assert_not_called()
 | 
			
		||||
 | 
			
		||||
    def test_get_metadata(self):
 | 
			
		||||
        doc = Document.objects.create(title="test", filename="file.pdf", mime_type="image/png")
 | 
			
		||||
        doc = Document.objects.create(title="test", filename="file.pdf", mime_type="image/png", archive_checksum="A")
 | 
			
		||||
 | 
			
		||||
        shutil.copy(os.path.join(os.path.dirname(__file__), "samples", "documents", "thumbnails", "0000001.png"), doc.source_path)
 | 
			
		||||
        shutil.copy(os.path.join(os.path.dirname(__file__), "samples", "simple.pdf"), doc.archive_path)
 | 
			
		||||
 
 | 
			
		||||
@@ -196,17 +196,28 @@ class DocumentViewSet(RetrieveModelMixin,
 | 
			
		||||
    def metadata(self, request, pk=None):
 | 
			
		||||
        try:
 | 
			
		||||
            doc = Document.objects.get(pk=pk)
 | 
			
		||||
            return Response({
 | 
			
		||||
 | 
			
		||||
            meta = {
 | 
			
		||||
                "original_checksum": doc.checksum,
 | 
			
		||||
                "archived_checksum": doc.archive_checksum,
 | 
			
		||||
                "original_size": os.stat(doc.source_path).st_size,
 | 
			
		||||
                "original_mime_type": doc.mime_type,
 | 
			
		||||
                "media_filename": doc.filename,
 | 
			
		||||
                "has_archive_version": os.path.isfile(doc.archive_path),
 | 
			
		||||
                "original_metadata": self.get_metadata(
 | 
			
		||||
                    doc.source_path, doc.mime_type),
 | 
			
		||||
                "archive_metadata": self.get_metadata(
 | 
			
		||||
                    doc.source_path, doc.mime_type)
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if doc.archive_checksum and os.path.isfile(doc.archive_path):
 | 
			
		||||
                meta['archive_checksum'] = doc.archive_checksum
 | 
			
		||||
                meta['archive_size'] = os.stat(doc.archive_path).st_size,
 | 
			
		||||
                meta['archive_metadata'] = self.get_metadata(
 | 
			
		||||
                    doc.archive_path, "application/pdf")
 | 
			
		||||
            })
 | 
			
		||||
            else:
 | 
			
		||||
                meta['archive_checksum'] = None
 | 
			
		||||
                meta['archive_size'] = None
 | 
			
		||||
                meta['archive_metadata'] = None
 | 
			
		||||
 | 
			
		||||
            return Response(meta)
 | 
			
		||||
        except Document.DoesNotExist:
 | 
			
		||||
            raise Http404()
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user