mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-04 04:12:45 +00:00 
			
		
		
		
	Use HashidMixin from flask_hashids
This commit is contained in:
		@@ -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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user