aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTulir Asokan <tulir@maunium.net>2020-09-20 14:01:29 +0300
committerTulir Asokan <tulir@maunium.net>2020-09-20 14:01:29 +0300
commite073f6972c322ac53f974029f0916fe644b09cbe (patch)
treeaf25516b077e00daa743a4831441e380781629a8
parent14059764a83fd42bbe0c70653e536369805ff15c (diff)
Make magic optional
-rw-r--r--sticker/pack.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/sticker/pack.py b/sticker/pack.py
index a91c986..48b6dee 100644
--- a/sticker/pack.py
+++ b/sticker/pack.py
@@ -5,13 +5,18 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from typing import Dict, Optional
from hashlib import sha256
+import mimetypes
import argparse
import os.path
import asyncio
import string
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
@@ -31,7 +36,11 @@ async def upload_sticker(file: str, directory: str, old_stickers: Dict[str, matr
path = os.path.join(directory, file)
if not os.path.isfile(path):
return None
- mime = magic.from_file(path, mime=True)
+
+ if magic:
+ mime = magic.from_file(path, mime=True)
+ else:
+ mime, _ = mimetypes.guess_type(file)
if not mime.startswith("image/"):
return None
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage