mirror of
https://github.com/tcsenpai/Zundler.git
synced 2025-06-07 03:55:26 +00:00
Reduce errors related to mime types
We don't need to know about the `ImportError` every time we guess a mime type. Because an `ImportError` is also raised if `python-magic` is installed but `libmagic1` is not present, we can handle this at the beginning of the file.
This commit is contained in:
parent
31ff902098
commit
f6e6228bbf
@ -25,6 +25,15 @@ from pathlib import Path
|
|||||||
import re
|
import re
|
||||||
import zlib
|
import zlib
|
||||||
|
|
||||||
|
try:
|
||||||
|
import magic
|
||||||
|
except ImportError as e:
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
logger.error(str(e))
|
||||||
|
logger.warning("Using `mimetypes` instead of `python-magic` for mime type guessing")
|
||||||
|
import mimetypes
|
||||||
|
|
||||||
|
|
||||||
SCRIPT_PATH = os.path.abspath(os.path.dirname(__file__))
|
SCRIPT_PATH = os.path.abspath(os.path.dirname(__file__))
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
@ -280,17 +289,8 @@ def embed_css_resources(css, filename):
|
|||||||
|
|
||||||
def mime_type_from_bytes(filename, buffer):
|
def mime_type_from_bytes(filename, buffer):
|
||||||
try:
|
try:
|
||||||
import magic
|
|
||||||
mime_type = magic.Magic(mime=True).from_buffer(buffer)
|
mime_type = magic.Magic(mime=True).from_buffer(buffer)
|
||||||
except Exception as e:
|
except NameError:
|
||||||
logger.error(
|
|
||||||
"Error while guessing mime type (%s): %s" %
|
|
||||||
(filename, str(buffer[:10]) + '...')
|
|
||||||
)
|
|
||||||
logger.error(str(e))
|
|
||||||
|
|
||||||
# Fall back to builtin; can happen if libmagic1 is missing
|
|
||||||
import mimetypes
|
|
||||||
mime_type = mimetypes.guess_type(filename)[0]
|
mime_type = mimetypes.guess_type(filename)[0]
|
||||||
|
|
||||||
if not mime_type:
|
if not mime_type:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user