From: Michael Tremer Date: Thu, 22 Feb 2024 18:21:25 +0000 (+0000) Subject: nopaste: Guess mimetype if none given X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e3bc8f21ea61ddc40b2107de2538987a1986e97c;p=ipfire.org.git nopaste: Guess mimetype if none given Signed-off-by: Michael Tremer --- diff --git a/src/backend/nopaste.py b/src/backend/nopaste.py index db143d5b..7224ebc3 100644 --- a/src/backend/nopaste.py +++ b/src/backend/nopaste.py @@ -1,13 +1,18 @@ #!/usr/bin/python3 import datetime +import magic from .misc import Object class Nopaste(Object): - def create(self, subject, content, mimetype="text", expires=None, account=None, address=None): + def create(self, content, subject=None, mimetype=None, expires=None, account=None, address=None): self._cleanup_database() + # Guess the mimetype if none set + if not mimetype: + mimetype = magic.from_buffer(content, mime=True) + uid = None if account: uid = account.uid diff --git a/src/web/nopaste.py b/src/web/nopaste.py index e3c49183..cfedc9c3 100644 --- a/src/web/nopaste.py +++ b/src/web/nopaste.py @@ -46,7 +46,7 @@ class CreateHandler(base.AnalyticsMixin, base.BaseHandler): except (TypeError, ValueError): expires = None - uid = self.backend.nopaste.create(subject, content, mimetype=mimetype, + uid = self.backend.nopaste.create(content, subject=subject, mimetype=mimetype, expires=expires, account=self.current_user, address=self.get_remote_ip()) if uid: