Use better mime type guessing

This commit is contained in:
Adrian Vollmer 2022-10-09 12:15:54 +02:00
parent 0147b332d5
commit 223b88639f
2 changed files with 8 additions and 3 deletions

View File

@ -29,6 +29,7 @@ install_requires =
sphinx
bs4
lxml
python-magic
importlib-metadata; python_version<"3.8"
[options.entry_points]

View File

@ -249,9 +249,13 @@ def embed_css_resources(css, filename):
def mime_type_from_bytes(buffer):
from io import BytesIO
from sphinx.util.images import guess_mimetype_for_stream
mime_type = guess_mimetype_for_stream(BytesIO(buffer))
try:
import magic
mime_type = magic.Magic(mime=True).from_buffer(buffer)
except Exception as e:
logger.error("Error while guessing mime type: " + str(buffer[:10]) + '...')
logger.error(str(e))
return 'application/octet-stream'
return mime_type