Browse Source

Make magic optional

pull/26/head
Tulir Asokan 4 years ago
parent
commit
e073f6972c
  1. 11
      sticker/pack.py

11
sticker/pack.py

@ -5,13 +5,18 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/. # file, You can obtain one at http://mozilla.org/MPL/2.0/.
from typing import Dict, Optional from typing import Dict, Optional
from hashlib import sha256 from hashlib import sha256
import mimetypes
import argparse import argparse
import os.path import os.path
import asyncio import asyncio
import string import string
import json import json
import magic
try:
import magic
except ImportError:
print("[Warning] Magic is not installed, using file extensions to guess mime types")
magic = None
from .lib import matrix, util from .lib import matrix, util
@ -31,7 +36,11 @@ async def upload_sticker(file: str, directory: str, old_stickers: Dict[str, matr
path = os.path.join(directory, file) path = os.path.join(directory, file)
if not os.path.isfile(path): if not os.path.isfile(path):
return None return None
if magic:
mime = magic.from_file(path, mime=True) mime = magic.from_file(path, mime=True)
else:
mime, _ = mimetypes.guess_type(file)
if not mime.startswith("image/"): if not mime.startswith("image/"):
return None return None

Loading…
Cancel
Save