From 14bc02b4316bb693f3e166e20d76b767e139550d Mon Sep 17 00:00:00 2001 From: BenYip Date: Thu, 29 Jun 2023 13:22:04 +0800 Subject: [PATCH] Support more mime types for add_extension_based_on_mime (#2562) * Support more mime types for add_extension_based_on_mime * Add myself to CONTRIBUTORS --- CONTRIBUTORS | 1 + pylib/anki/media.py | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 101465dae..26d4e4ba8 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -125,6 +125,7 @@ Austin Siew Joel Koen Christopher Woggon Kavel Rao +Ben Yip ******************** diff --git a/pylib/anki/media.py b/pylib/anki/media.py index 284711a78..fb48e8eb4 100644 --- a/pylib/anki/media.py +++ b/pylib/anki/media.py @@ -101,14 +101,21 @@ class MediaManager(DeprecatedNamesMixin): return self.col._backend.add_media_file(desired_name=desired_fname, data=data) def add_extension_based_on_mime(self, fname: str, content_type: str) -> str: - "If jpg or png mime, add .png/.jpg if missing extension." + "Add extension based on mime for common audio and image format if missing extension." if not os.path.splitext(fname)[1]: # mimetypes is returning '.jpe' even after calling .init(), so we'll do # it manually instead type_map = { + "audio/mpeg": ".mp3", + "audio/ogg": ".oga", + "audio/opus": ".opus", + "audio/wav": ".wav", + "audio/webm": ".weba", + "audio/aac": ".aac", "image/jpeg": ".jpg", "image/png": ".png", "image/svg+xml": ".svg", + "image/webp": ".webp", } if content_type in type_map: fname += type_map[content_type]