From 1a6f4abca08a621b359f99a48d8883d5c1c9bd97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20J=C3=B6nsson?= Date: Sat, 15 Nov 2025 19:42:58 +0100 Subject: [PATCH] reformatted with black --- app.py | 86 +++++++++++++++++++++++++++++++++------------------------- 1 file changed, 49 insertions(+), 37 deletions(-) diff --git a/app.py b/app.py index cd37aaa..27f184d 100644 --- a/app.py +++ b/app.py @@ -5,83 +5,95 @@ from werkzeug.security import generate_password_hash, check_password_hash import os app = Flask(__name__) -app.config['SECRET_KEY'] = os.environ.get( - 'FLASK_SECRET_KEY', - 'your-secret-key-here' # Fallback for development only +app.config["SECRET_KEY"] = os.environ.get( + "FLASK_SECRET_KEY", "your-secret-key-here" # Fallback for development only ) -app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(os.path.abspath(os.path.dirname(__file__)), 'instance/users.db') -app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False +app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///" + os.path.join( + os.path.abspath(os.path.dirname(__file__)), "instance/users.db" +) +app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False db = SQLAlchemy(app) + # Initialize database CLI command @app.cli.command("init-db") def init_db(): import os - db_path = app.config['SQLALCHEMY_DATABASE_URI'].replace('sqlite:///', '') + + db_path = app.config["SQLALCHEMY_DATABASE_URI"].replace("sqlite:///", "") os.makedirs(os.path.dirname(db_path), exist_ok=True, mode=0o755) with app.app_context(): db.create_all() print(f"Database created at {db_path}") + + login_manager = LoginManager(app) -login_manager.login_view = 'login' +login_manager.login_view = "login" + class User(UserMixin, db.Model): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(100), unique=True) password = db.Column(db.String(100)) + @login_manager.user_loader def load_user(user_id): return User.query.get(int(user_id)) -@app.route('/') -def home(): - return redirect(url_for('login')) -@app.route('/login', methods=['GET', 'POST']) +@app.route("/") +def home(): + return redirect(url_for("login")) + + +@app.route("/login", methods=["GET", "POST"]) def login(): - if request.method == 'POST': - email = request.form.get('email') - password = request.form.get('password') + if request.method == "POST": + email = request.form.get("email") + password = request.form.get("password") user = User.query.filter_by(email=email).first() - + if user and check_password_hash(user.password, password): login_user(user) - return redirect(url_for('dashboard')) - - return 'Invalid credentials' - return render_template('login.html') + return redirect(url_for("dashboard")) -@app.route('/register', methods=['GET', 'POST']) + return "Invalid credentials" + return render_template("login.html") + + +@app.route("/register", methods=["GET", "POST"]) def register(): - if request.method == 'POST': - email = request.form.get('email') - password = request.form.get('password') - confirm_password = request.form.get('confirm_password') - + if request.method == "POST": + email = request.form.get("email") + password = request.form.get("password") + confirm_password = request.form.get("confirm_password") + if password != confirm_password: - return 'Passwords do not match' - + return "Passwords do not match" + if User.query.filter_by(email=email).first(): - return 'Email already registered' - + return "Email already registered" + password = generate_password_hash(password) - + new_user = User(email=email, password=password) db.session.add(new_user) db.session.commit() - - return redirect(url_for('login')) - return render_template('register.html') -@app.route('/dashboard') + return redirect(url_for("login")) + return render_template("register.html") + + +@app.route("/dashboard") @login_required def dashboard(): - return render_template('dashboard.html') + return render_template("dashboard.html") -@app.route('/logout') + +@app.route("/logout") @login_required def logout(): logout_user() - return redirect(url_for('login')) + return redirect(url_for("login"))