From 19f60cfd0f00cc2955926eb136df6dfa69b1c33a Mon Sep 17 00:00:00 2001
From: Patrick Jentsch <p.jentsch@uni-bielefeld.de>
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
-- 
GitLab