Skip to content
Snippets Groups Projects
Commit 82543d88 authored by Patrick Jentsch's avatar Patrick Jentsch
Browse files

Use HashidMixin from flask_hashids

parent 37c244b3
No related branches found
No related tags found
No related merge requests found
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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment