From 5012da8cdea7fd24e967c40f819194980711f1f3 Mon Sep 17 00:00:00 2001 From: Hironsan Date: Mon, 4 Apr 2022 13:18:25 +0900 Subject: [PATCH] Enable to check file type about image and audio files --- backend/config/settings/base.py | 3 +- backend/data_import/celery_tasks.py | 26 ++++++++++++++++-- backend/data_import/pipeline/exceptions.py | 13 +++++++++ .../tests/data/images/1500x500.jpeg | Bin 0 -> 84753 bytes .../data_import/tests/data/images/example.ico | Bin 0 -> 44316 bytes backend/data_import/tests/test_tasks.py | 12 ++++++++ backend/poetry.lock | 14 +++++++++- backend/pyproject.toml | 1 + 8 files changed, 64 insertions(+), 5 deletions(-) create mode 100644 backend/data_import/tests/data/images/1500x500.jpeg create mode 100644 backend/data_import/tests/data/images/example.ico diff --git a/backend/config/settings/base.py b/backend/config/settings/base.py index 743220a9..08ade658 100644 --- a/backend/config/settings/base.py +++ b/backend/config/settings/base.py @@ -248,7 +248,8 @@ DJANGO_DRF_FILEPOND_UPLOAD_TMP = path.join(BASE_DIR, "filepond-temp-uploads") DJANGO_DRF_FILEPOND_FILE_STORE_PATH = MEDIA_ROOT # File upload setting -MAX_UPLOAD_SIZE = env("MAX_UPLOAD_SIZE", pow(1024, 3)) # default: 1GB per a file +MAX_UPLOAD_SIZE = env.int("MAX_UPLOAD_SIZE", pow(1024, 3)) # default: 1GB per a file +ENABLE_FILE_TYPE_CHECK = env.bool("ENABLE_FILE_TYPE_CHECK", False) # Celery settings DJANGO_CELERY_RESULTS_TASK_ID_MAX_LENGTH = 191 diff --git a/backend/data_import/celery_tasks.py b/backend/data_import/celery_tasks.py index a095be86..8aacd16a 100644 --- a/backend/data_import/celery_tasks.py +++ b/backend/data_import/celery_tasks.py @@ -1,5 +1,6 @@ from typing import List +import filetype from celery import shared_task from django.conf import settings from django.contrib.auth import get_user_model @@ -7,14 +8,29 @@ from django.shortcuts import get_object_or_404 from django_drf_filepond.api import store_upload from django_drf_filepond.models import TemporaryUpload -from .pipeline.exceptions import MaximumFileSizeException +from .pipeline.catalog import AudioFile, ImageFile +from .pipeline.exceptions import FileTypeException, MaximumFileSizeException from .pipeline.factories import create_builder, create_cleaner, create_parser from .pipeline.readers import Reader from .pipeline.writers import BulkWriter from projects.models import Project -def check_uploaded_files(upload_ids: List[str]): +def check_file_type(filename, file_format: str, filepath: str): + if not settings.ENABLE_FILE_TYPE_CHECK: + return + kind = filetype.guess(filepath) + if file_format == ImageFile.name: + accept_types = ImageFile.accept_types.replace(" ", "").split(",") + elif file_format == AudioFile.name: + accept_types = AudioFile.accept_types.replace(" ", "").split(",") + else: + return + if kind.mime not in accept_types: + raise FileTypeException(filename, kind.mime, accept_types) + + +def check_uploaded_files(upload_ids: List[str], file_format: str): errors = [] cleaned_ids = [] temporary_uploads = TemporaryUpload.objects.filter(upload_id__in=upload_ids) @@ -23,6 +39,10 @@ def check_uploaded_files(upload_ids: List[str]): errors.append(MaximumFileSizeException(tu.upload_name, settings.MAX_UPLOAD_SIZE).dict()) tu.delete() continue + try: + check_file_type(tu.upload_name, file_format, tu.get_file_path()) + except FileTypeException as e: + errors.append(e.dict()) cleaned_ids.append(tu.upload_id) return cleaned_ids, errors @@ -32,7 +52,7 @@ def import_dataset(user_id, project_id, file_format: str, upload_ids: List[str], project = get_object_or_404(Project, pk=project_id) user = get_object_or_404(get_user_model(), pk=user_id) - upload_ids, errors = check_uploaded_files(upload_ids) + upload_ids, errors = check_uploaded_files(upload_ids, file_format) temporary_uploads = TemporaryUpload.objects.filter(upload_id__in=upload_ids) file_names = [tu.get_file_path() for tu in temporary_uploads] save_names = {tu.get_file_path(): tu.file.name for tu in temporary_uploads} diff --git a/backend/data_import/pipeline/exceptions.py b/backend/data_import/pipeline/exceptions.py index da5dfc7f..d9790ff0 100644 --- a/backend/data_import/pipeline/exceptions.py +++ b/backend/data_import/pipeline/exceptions.py @@ -21,3 +21,16 @@ class MaximumFileSizeException(Exception): def dict(self): return {"filename": self.filename, "line": -1, "message": str(self)} + + +class FileTypeException(Exception): + def __init__(self, filename: str, filetype: str, allowed_types=None): + self.filename = filename + self.filetype = filetype + self.allowed_types = allowed_types + + def __str__(self): + return f"The file type {self.filetype} is unexpected. Expected: {self.allowed_types}" + + def dict(self): + return {"filename": self.filename, "line": -1, "message": str(self)} diff --git a/backend/data_import/tests/data/images/1500x500.jpeg b/backend/data_import/tests/data/images/1500x500.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..bbada87e4dcfdc552baec545d37f67be48cafea0 GIT binary patch literal 84753 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

#6M2K-c!K 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 XHmFHrDa8g2fQQB-9hFLyW%&O9xC{l4 literal 0 HcmV?d00001 diff --git a/backend/data_import/tests/test_tasks.py b/backend/data_import/tests/test_tasks.py index 81e29788..7e957702 100644 --- a/backend/data_import/tests/test_tasks.py +++ b/backend/data_import/tests/test_tasks.py @@ -273,3 +273,15 @@ class TestImportImageClassificationData(TestImportData): file_format = "ImageFile" self.import_dataset(filename, file_format) self.assertEqual(Example.objects.count(), 1) + + +@override_settings(ENABLE_FILE_TYPE_CHECK=True) +class TestFileTypeChecking(TestImportData): + task = IMAGE_CLASSIFICATION + + def test_example(self): + filename = "images/example.ico" + file_format = "ImageFile" + response = self.import_dataset(filename, file_format) + self.assertEqual(len(response["error"]), 1) + self.assertIn("unexpected", response["error"][0]["message"]) diff --git a/backend/poetry.lock b/backend/poetry.lock index c6cb038f..5700973b 100644 --- a/backend/poetry.lock +++ b/backend/poetry.lock @@ -535,6 +535,14 @@ category = "main" optional = false python-versions = ">=3.6" +[[package]] +name = "filetype" +version = "1.0.10" +description = "Infer file type and MIME type of any file/buffer. No external dependencies." +category = "main" +optional = false +python-versions = "*" + [[package]] name = "flake8" version = "4.0.1" @@ -1478,7 +1486,7 @@ postgresql = [] [metadata] lock-version = "1.1" python-versions = "^3.8" -content-hash = "2b7d21429a29cfe0f07be53971292f593d955bad855f76e0d05f22cbfd60baf9" +content-hash = "aba19bd73c1d181ff5a54ea860e255055b0f9ed7ad9788605f989f03715bad64" [metadata.files] amqp = [ @@ -1714,6 +1722,10 @@ et-xmlfile = [ {file = "et_xmlfile-1.1.0-py3-none-any.whl", hash = "sha256:a2ba85d1d6a74ef63837eed693bcb89c3f752169b0e3e7ae5b16ca5e1b3deada"}, {file = "et_xmlfile-1.1.0.tar.gz", hash = "sha256:8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c"}, ] +filetype = [ + {file = "filetype-1.0.10-py2.py3-none-any.whl", hash = "sha256:63fbe6e818a3d1cfac1d62b196574a7a4b7fc8e06a6c500d53577c018ef127d9"}, + {file = "filetype-1.0.10.tar.gz", hash = "sha256:323a13500731b6c65a253bc3930bbce9a56dfba71e90b60ffd968ab69d9ae937"}, +] flake8 = [ {file = "flake8-4.0.1-py2.py3-none-any.whl", hash = "sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d"}, {file = "flake8-4.0.1.tar.gz", hash = "sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d"}, diff --git a/backend/pyproject.toml b/backend/pyproject.toml index d0f8f1a0..a315a7be 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -62,6 +62,7 @@ django-health-check = "^3.16.5" djangorestframework-xml = "^2.0.0" django-storages = {extras = ["google"], version = "^1.12.3"} django-cleanup = "^6.0.0" +filetype = "^1.0.10" [tool.poetry.dev-dependencies] model-mommy = "^2.0.0"