From 2be9e518057f0bcaf52865d4db164f44c9abc4d4 Mon Sep 17 00:00:00 2001 From: Andrew K Date: Thu, 8 Jan 2026 23:23:45 +0900 Subject: [PATCH] clean up code with increased readability --- app.py | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/app.py b/app.py index b1ffb4f..d75183d 100644 --- a/app.py +++ b/app.py @@ -38,32 +38,51 @@ def index(): @app.route('/dashboard') def dashboard(): + # Load Databases + db = dbload() + udb = udbload() + + # Check if user is a guest if session.get('loggedIn', False) == False: flash('You must be signed in to view the dashboard!', 'error') return redirect(url_for('upload')) - db = dbload() - udb = udbload() + + # Get user quota, usage, and files username = session.get('username') userfiles = [] quota_usage_gb = 0 + if not username: flash('An error occurred. Please sign in again.', 'error') session['loggedIn'] = False session.pop('username', None) return redirect(url_for('upload')) + for file in db['files']: if db['files'][file].get('owner') == username: db['files'][file]['file'] = file db['files'][file]['code'] = file.split('_')[-1] userfiles.append(db['files'][file]) + for userfile in userfiles: usf_mb = userfile['size_megabytes'] if usf_mb: quota_usage_gb += usf_mb / 1024 + quota_usage_gb = round(quota_usage_gb, 1) - return render_template('dashboard.html', files=userfiles, username=username, quota_gb=udb[[user['username'] for user in udb].index(username)]['quota_gb'], quota_usage=quota_usage_gb) + + # Render template with variables + return render_template( + 'dashboard.html', + files=userfiles, + username=username, + quota_gb=udb[[user['username'] for user in udb].index(username)]['quota_gb'], + quota_usage=quota_usage_gb + ) + @app.route('/logout') def logout(): + # Sign out user and redirect to upload page session['loggedIn'] = False session.pop('username', None) flash('Successfully signed out!', 'info') @@ -71,43 +90,53 @@ def logout(): @app.route('/login', methods=['GET', 'POST']) def login(): + # Load User Database (UDB) udb = udbload() if request.method == 'GET': return render_template('login.html') if request.method == 'POST': + # Get data from form username = request.form.get('username') password = request.form.get('password') + # Check if user exists and password matches, log them in for user in udb: if user['username'] == username and user['password'] == password: session['loggedIn'] = True session['username'] = username flash('Successfully signed in!', 'info') return redirect(url_for('upload')) + + # If still here, login failed flash('Invalid username or password!', 'error') return redirect(url_for('login')) @app.route('/register', methods=['GET', 'POST']) def register(): + # Load User Database (UDB) udb = udbload() if request.method == 'GET': return render_template('register.html') if request.method == 'POST': + # Get data from form username = request.form.get('username') password = request.form.get('password') + # Check if username is already taken for user in udb: if user['username'] == username: flash('Username already taken!', 'error') return redirect(url_for('register')) + # Create new user with default quota of 3GB udb.append({ 'username': username, 'password': password, 'quota_gb': 3 }) + udbsave(udb) flash('Successfully registered! You can now sign in.', 'info') return redirect(url_for('login'))