From 82543d883faedf195095dfc9c6f24049725f80c3 Mon Sep 17 00:00:00 2001
From: Patrick Jentsch <p.jentsch@uni-bielefeld.de>
Date: Mon, 13 Dec 2021 12:20:01 +0100
Subject: [PATCH] Use HashidMixin from flask_hashids

---
 app/models.py | 27 +++++++++++----------------
 1 file changed, 11 insertions(+), 16 deletions(-)

diff --git a/app/models.py b/app/models.py
index a00db66d..55013e92 100644
--- a/app/models.py
+++ b/app/models.py
@@ -1,21 +1,26 @@
 from datetime import datetime, timedelta
 from flask import current_app, url_for
+from flask_hashids import HashidMixin
 from flask_login import UserMixin
 from itsdangerous import BadSignature, TimedJSONWebSignatureSerializer
 from time import sleep
 from werkzeug.security import generate_password_hash, check_password_hash
 import xml.etree.ElementTree as ET
-from . import db, hashids, login
+from . import db, login
 import base64
 import enum
 import os
 import shutil
 
 
-class HashidMixin:
-    @property
-    def hashid(self):
-        return hashids.encode(self.id)
+class Permission(enum.IntEnum):
+    '''
+    Defines User permissions as integers by the power of 2. User permission
+    can be evaluated using the bitwise operator &.
+    '''
+    ADMINISTRATE = 4
+    CONTRIBUTE = 2
+    USE_API = 1
 
 
 class FileMixin:
@@ -33,16 +38,6 @@ class FileMixin:
         }
 
 
-class Permission(enum.IntEnum):
-    '''
-    Defines User permissions as integers by the power of 2. User permission
-    can be evaluated using the bitwise operator &.
-    '''
-    ADMINISTRATE = 4
-    CONTRIBUTE = 2
-    USE_API = 1
-
-
 class Role(HashidMixin, db.Model):
     __tablename__ = 'roles'
     # Primary key
@@ -578,7 +573,7 @@ class CorpusFile(FileMixin, HashidMixin, db.Model):
             os.remove(self.path)
         except OSError:
             current_app.logger.error(
-                'Removing {} led to an OSError!'.format(self.path)
+                f'Removing {self.path} led to an OSError!'
             )
             pass
         db.session.delete(self)
-- 
GitLab