Removes last vestiges of PNG from the tests, code, docs and samples

This commit is contained in:
Trenton Holmes
2022-06-11 14:15:27 -07:00
parent cc4cea1a41
commit 1df517afd3
19 changed files with 14 additions and 60 deletions

View File

@@ -1,6 +1,5 @@
# this is here so that django finds the checks.
from .checks import changed_password_check
from .checks import parser_check
from .checks import png_thumbnail_check
__all__ = ["changed_password_check", "parser_check", "png_thumbnail_check"]
__all__ = ["changed_password_check", "parser_check"]

View File

@@ -1,9 +1,7 @@
import textwrap
from pathlib import Path
from django.conf import settings
from django.core.checks import Error
from django.core.checks import Info
from django.core.checks import register
from django.core.exceptions import FieldError
from django.db.utils import OperationalError
@@ -68,23 +66,3 @@ def parser_check(app_configs, **kwargs):
]
else:
return []
@register()
def png_thumbnail_check(app_configs, **kwargs):
from documents.models import Document
try:
documents = Document.objects.all()
for document in documents:
existing_thumbnail = Path(document.thumbnail_path).resolve()
if existing_thumbnail.suffix == ".png":
return [
Info(
"PNG thumbnails found, consider running convert_thumbnails "
"to convert to WebP",
),
]
return []
except (OperationalError, ProgrammingError, FieldError):
return [] # No documents table yet

View File

@@ -189,7 +189,7 @@ class Command(BaseCommand):
original_target = os.path.join(self.target, original_name)
document_dict[EXPORTER_FILE_NAME] = original_name
thumbnail_name = base_name + "-thumbnail.png"
thumbnail_name = base_name + "-thumbnail.webp"
thumbnail_target = os.path.join(self.target, thumbnail_name)
document_dict[EXPORTER_THUMBNAIL_NAME] = thumbnail_name

View File

@@ -1,7 +1,6 @@
import logging
import multiprocessing
import shutil
from pathlib import Path
import tqdm
from django import db
@@ -23,12 +22,6 @@ def _process_document(doc_in):
try:
existing_thumbnail = Path(document.thumbnail_path).resolve()
# Remove an existing PNG format thumbnail, if it existed
if existing_thumbnail.exists() and existing_thumbnail.suffix == ".png":
existing_thumbnail.unlink()
thumb = parser.get_thumbnail(
document.source_path,
document.mime_type,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -176,7 +176,7 @@ class TestDocumentApi(DirectoriesMixin, APITestCase):
)
with open(
os.path.join(self.dirs.thumbnail_dir, f"{doc.pk:07d}.png"),
os.path.join(self.dirs.thumbnail_dir, f"{doc.pk:07d}.webp"),
"wb",
) as f:
f.write(content_thumbnail)
@@ -1022,7 +1022,7 @@ class TestDocumentApi(DirectoriesMixin, APITestCase):
"samples",
"documents",
"thumbnails",
"0000001.png",
"0000001.webp",
)
archive_file = os.path.join(os.path.dirname(__file__), "samples", "simple.pdf")

View File

@@ -180,7 +180,7 @@ class DummyParser(DocumentParser):
def __init__(self, logging_group, scratch_dir, archive_path):
super().__init__(logging_group, None)
_, self.fake_thumb = tempfile.mkstemp(suffix=".png", dir=scratch_dir)
_, self.fake_thumb = tempfile.mkstemp(suffix=".webp", dir=scratch_dir)
self.archive_path = archive_path
def get_thumbnail(self, document_path, mime_type, file_name=None):
@@ -199,7 +199,7 @@ class CopyParser(DocumentParser):
def __init__(self, logging_group, progress_callback=None):
super().__init__(logging_group, progress_callback)
_, self.fake_thumb = tempfile.mkstemp(suffix=".png", dir=self.tempdir)
_, self.fake_thumb = tempfile.mkstemp(suffix=".webp", dir=self.tempdir)
def parse(self, document_path, mime_type, file_name=None):
self.text = "The text"
@@ -214,7 +214,7 @@ class FaultyParser(DocumentParser):
def __init__(self, logging_group, scratch_dir):
super().__init__(logging_group)
_, self.fake_thumb = tempfile.mkstemp(suffix=".png", dir=scratch_dir)
_, self.fake_thumb = tempfile.mkstemp(suffix=".webp", dir=scratch_dir)
def get_thumbnail(self, document_path, mime_type, file_name=None):
return self.fake_thumb
@@ -230,6 +230,8 @@ def fake_magic_from_file(file, mime=False):
return "application/pdf"
elif os.path.splitext(file)[1] == ".png":
return "image/png"
elif os.path.splitext(file)[1] == ".webp":
return "image/webp"
else:
return "unknown"
else:

View File

@@ -150,9 +150,9 @@ class TestDecryptDocuments(TestCase):
"samples",
"documents",
"thumbnails",
f"0000004.png.gpg",
f"0000004.webp.gpg",
),
os.path.join(thumb_dir, f"{doc.id:07}.png.gpg"),
os.path.join(thumb_dir, f"{doc.id:07}.webp.gpg"),
)
call_command("decrypt_documents")

View File

@@ -42,9 +42,9 @@ class TestSanityCheck(DirectoriesMixin, TestCase):
"samples",
"documents",
"thumbnails",
"0000001.png",
"0000001.webp",
),
os.path.join(self.dirs.thumbnail_dir, "0000001.png"),
os.path.join(self.dirs.thumbnail_dir, "0000001.webp"),
)
return Document.objects.create(

View File

@@ -362,11 +362,7 @@ class DocumentViewSet(
handle = doc.thumbnail_file
# TODO: Send ETag information and use that to send new thumbnails
# if available
thumbnail_path = doc.thumbnail_path
if os.path.splitext(thumbnail_path)[1] == ".webp":
content_type = "image/webp"
else:
content_type = "image/png"
content_type = "image/webp"
return HttpResponse(handle, content_type=content_type)
except (FileNotFoundError, Document.DoesNotExist):