From 19f60cfd0f00cc2955926eb136df6dfa69b1c33a Mon Sep 17 00:00:00 2001
From: Patrick Jentsch
Date: Thu, 22 Aug 2019 09:33:34 +0200
Subject: [PATCH] Codestyle and new python package versions.
---
app/models.py | 21 ++++++++++++---------
config.py | 3 ++-
requirements.txt | 24 ++++++++++++------------
3 files changed, 26 insertions(+), 22 deletions(-)
diff --git a/app/models.py b/app/models.py
index 9c8327ba..05a5484a 100644
--- a/app/models.py
+++ b/app/models.py
@@ -1,6 +1,6 @@
from flask import current_app
from flask_login import UserMixin, AnonymousUserMixin
-from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
+from itsdangerous import BadSignature, TimedJSONWebSignatureSerializer
from werkzeug.security import generate_password_hash, check_password_hash
from . import db
from . import login_manager
@@ -22,8 +22,8 @@ class Permission:
class Role(db.Model):
"""
- Model for the different roles Users can have. Is a one-to-many relationship.
- A Role can be associated with many User rows.
+ Model for the different roles Users can have. Is a one-to-many
+ relationship. A Role can be associated with many User rows.
"""
__tablename__ = 'roles'
# Primary key
@@ -136,24 +136,26 @@ class User(UserMixin, db.Model):
"""
Generates a confirmation token for user confirmation via email.
"""
- s = Serializer(current_app.config['SECRET_KEY'], expiration)
+ s = TimedJSONWebSignatureSerializer(current_app.config['SECRET_KEY'],
+ expiration)
return s.dumps({'confirm': self.id}).decode('utf-8')
def generate_reset_token(self, expiration=3600):
"""
Generates a reset token for password reset via email.
"""
- s = Serializer(current_app.config['SECRET_KEY'], expiration)
+ s = TimedJSONWebSignatureSerializer(current_app.config['SECRET_KEY'],
+ expiration)
return s.dumps({'reset': self.id}).decode('utf-8')
def confirm(self, token):
"""
Confirms User if the given token is valid and not expired.
"""
- s = Serializer(current_app.config['SECRET_KEY'])
+ s = TimedJSONWebSignatureSerializer(current_app.config['SECRET_KEY'])
try:
data = s.loads(token.encode('utf-8'))
- except:
+ except BadSignature:
return False
if data.get('confirm') != self.id:
return False
@@ -166,10 +168,10 @@ class User(UserMixin, db.Model):
"""
Resets password for User if the given token is valid and not expired.
"""
- s = Serializer(current_app.config['SECRET_KEY'])
+ s = TimedJSONWebSignatureSerializer(current_app.config['SECRET_KEY'])
try:
data = s.loads(token.encode('utf-8'))
- except:
+ except BadSignature:
return False
user = User.query.get(data.get('reset'))
if user is None:
@@ -291,6 +293,7 @@ class Corpus(db.Model):
'title': self.title,
'user_id': self.user_id}
+
'''
' Flask-Login is told to use the application’s custom anonymous user by setting
' its class in the login_manager.anonymous_user attribute.
diff --git a/config.py b/config.py
index 65731c51..b52da6e2 100644
--- a/config.py
+++ b/config.py
@@ -33,7 +33,8 @@ class Config:
class DevelopmentConfig(Config):
DEBUG = True
- SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'data_dev.sqlite')
+ SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir,
+ 'data_dev.sqlite')
class TestingConfig(Config):
diff --git a/requirements.txt b/requirements.txt
index 55702c73..24417764 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,12 +1,12 @@
-docker==4.0.2
-eventlet==0.25.0
-Flask==1.0.3
-Flask-APScheduler==1.11.0
-Flask-Login==0.4.1
-Flask-Mail==0.9.1
-Flask-Migrate==2.5.2
-Flask-SocketIO==4.2.1
-Flask-SQLAlchemy==2.4.0
-Flask-Table==0.5.0
-Flask-WTF==0.14.2
-python-dotenv==0.10.3
+docker
+eventlet
+Flask
+Flask-APScheduler
+Flask-Login
+Flask-Mail
+Flask-Migrate
+Flask-SocketIO
+Flask-SQLAlchemy
+Flask-Table
+Flask-WTF
+python-dotenv