]> git.ipfire.org Git - ipfire.org.git/commitdiff
nopaste: Guess mimetype if none given
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 22 Feb 2024 18:21:25 +0000 (18:21 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 22 Feb 2024 18:21:25 +0000 (18:21 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/backend/nopaste.py
src/web/nopaste.py

index db143d5bece6f37b1a26a07cb7c22c74241ef32f..7224ebc3c51ac33817a636d02ccb8abda6f734b4 100644 (file)
@@ -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
index e3c491835559833231f6f9f755911b34a1be2e30..cfedc9c31b9433bc270739f491b67357df9102de 100644 (file)
@@ -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: