Skip to content
Snippets Groups Projects
Unverified Commit 1aa2f0c5 authored by Robin Sonnabend's avatar Robin Sonnabend
Browse files

Update to current flask version

parent 8217339c
No related branches found
No related tags found
No related merge requests found
FLASK_APP=server.py:app
FLASK_ENV=development
from flask.ext.login import UserMixin from flask_login import UserMixin
from datetime import datetime from datetime import datetime
import random import random
......
from flask.ext.wtf import Form from flask_wtf import Form
from wtforms import StringField, PasswordField, BooleanField, SelectMultipleField, SelectField, DateField, IntegerField, TextAreaField, HiddenField from wtforms import StringField, PasswordField, BooleanField, SelectMultipleField, SelectField, DateField, IntegerField, TextAreaField, HiddenField
from wtforms.validators import InputRequired, Length, EqualTo, Email, Optional, Length, NumberRange, AnyOf from wtforms.validators import InputRequired, Length, EqualTo, Email, Optional, Length, NumberRange, AnyOf
from models.database import User from models.database import User
......
from flask import Blueprint, redirect, url_for, request, flash, abort, send_file, Response from flask import Blueprint, redirect, url_for, request, flash, abort, send_file, Response
from flask.ext.login import login_required from flask_login import login_required
from passlib.hash import pbkdf2_sha256 from passlib.hash import pbkdf2_sha256
from datetime import datetime, timedelta from datetime import datetime, timedelta
......
from flask import Blueprint, redirect, url_for, request, flash, abort, send_file, Response from flask import Blueprint, redirect, url_for, request, flash, abort, send_file, Response
from flask.ext.login import login_required from flask_login import login_required
from models.database import User, Statement, Speaker, Topic, Event from models.database import User, Statement, Speaker, Topic, Event
from models.forms import AddStatementForm from models.forms import AddStatementForm
......
alembic==0.9.6 alembic==1.7.3
blinker==1.4 blinker==1.4
Flask==0.10.1 click==8.0.1
Flask-Login==0.3.2 Flask==2.0.1
Flask-Migrate==1.6.0 Flask-Login==0.5.0
Flask-Migrate==3.1.0
Flask-Passlib==0.1 Flask-Passlib==0.1
Flask-Principal==0.4.0 Flask-Principal==0.4.0
Flask-Script==2.0.5 Flask-Script==2.0.6
Flask-SQLAlchemy==2.1 Flask-SQLAlchemy==2.5.1
Flask-WTF==0.12 Flask-WTF==0.15.1
itsdangerous==0.24 greenlet==1.1.1
Jinja2==2.8 itsdangerous==2.0.1
Mako==1.0.3 Jinja2==3.0.1
MarkupSafe==0.23 Mako==1.1.5
MarkupSafe==2.0.1
passlib==1.6.1 passlib==1.6.1
pkg-resources==0.0.0 psycopg2==2.9.1
psycopg2==2.7 python-dateutil==2.8.2
python-dateutil==2.8.1 python-dotenv==0.19.0
python-editor==0.4 python-editor==1.0.4
six==1.15.0 six==1.16.0
SQLAlchemy==1.0.9 SQLAlchemy==1.4.23
Werkzeug==0.10.4 Werkzeug==2.0.1
WTForms==2.0.2 WTForms==2.3.3
#!/usr/bin/env python3 #!/usr/bin/env python3
from flask import Flask, g, current_app, request, session, flash, redirect, url_for, abort, render_template, Response from flask import Flask, g, current_app, request, session, flash, redirect, url_for, abort, render_template, Response
from flask.ext.login import login_user, logout_user, login_required, current_user import click
from flask.ext.principal import Principal, Identity, AnonymousIdentity, identity_changed, identity_loaded, UserNeed, RoleNeed from flask_login import login_user, logout_user, login_required, current_user
from flask.ext.script import Manager, prompt, prompt_pass from flask_principal import Principal, Identity, AnonymousIdentity, identity_changed, identity_loaded, UserNeed, RoleNeed
from flask.ext.migrate import Migrate, MigrateCommand from flask_migrate import Migrate
from passlib.hash import pbkdf2_sha256 from passlib.hash import pbkdf2_sha256
import config import config
...@@ -17,8 +17,6 @@ app = Flask(__name__) ...@@ -17,8 +17,6 @@ app = Flask(__name__)
app.config.from_object(config) app.config.from_object(config)
db.init_app(app) db.init_app(app)
migrate = Migrate(app, db) migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command('db', MigrateCommand)
login_manager.init_app(app) login_manager.init_app(app)
login_manager.login_view = "login" login_manager.login_view = "login"
login_manager.login_message_category = "alert-error" login_manager.login_message_category = "alert-error"
...@@ -30,31 +28,30 @@ from modules import admin, speech ...@@ -30,31 +28,30 @@ from modules import admin, speech
app.register_blueprint(admin.admin, url_prefix="/admin") app.register_blueprint(admin.admin, url_prefix="/admin")
app.register_blueprint(speech.speech, url_prefix="/speech") app.register_blueprint(speech.speech, url_prefix="/speech")
@manager.command @app.cli.command()
def addadmin(): @click.option("--username", prompt=True)
@click.option("--realname", prompt=True)
@click.option("--password", prompt=True, hide_input=True)
def addadmin(username, realname, password):
"""Add a new administrative user to the system""" """Add a new administrative user to the system"""
print("Adding new administrative user:") if username is not None and realname is not None and password is not None:
admin_real_name = prompt("Real name") hashed_pw = pbkdf2_sha256.encrypt(password, rounds=200000, salt_size=16)
admin_login = prompt("Username") u = User(realname, username, hashed_pw, ["admin", "user"])
admin_pass = prompt_pass("Password")
if admin_real_name is not None and admin_login is not None and admin_pass is not None:
admin_hashed_pw = pbkdf2_sha256.encrypt(admin_pass, rounds=200000, salt_size=16)
u = User(admin_real_name, admin_login, admin_hashed_pw, ["admin", "user"])
db.session.add(u) db.session.add(u)
db.session.commit() db.session.commit()
else: else:
print("The provided data was invalid.") print("The provided data was invalid.")
@manager.command @app.cli.command()
@click.option("--username", prompt=True)
@click.option("--realname", prompt=True)
@click.option("--password", prompt=True, hide_input=True)
def adduser(): def adduser():
"""Add a new user to the system""" """Add a new user to the system"""
print("Adding new user:") print("Adding new user:")
admin_real_name = prompt("Real name") if realname is not None and username is not None and password is not None:
admin_login = prompt("Username") hashed_pw = pbkdf2_sha256.encrypt(password, rounds=200000, salt_size=16)
admin_pass = prompt_pass("Password") u = User(realname, username, hashed_pw, ["user"])
if admin_real_name is not None and admin_login is not None and admin_pass is not None:
admin_hashed_pw = pbkdf2_sha256.encrypt(admin_pass, rounds=200000, salt_size=16)
u = User(admin_real_name, admin_login, admin_hashed_pw, ["user"])
db.session.add(u) db.session.add(u)
db.session.commit() db.session.commit()
else: else:
......
from flask.ext.sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
from flask.ext.login import LoginManager from flask_login import LoginManager
from flask.ext.principal import Permission, RoleNeed from flask_principal import Permission, RoleNeed
db = SQLAlchemy() db = SQLAlchemy()
login_manager = LoginManager() login_manager = LoginManager()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment