Gagan0141 commited on
Commit
6116804
·
verified ·
1 Parent(s): 11068e4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +55 -25
app.py CHANGED
@@ -1,34 +1,49 @@
1
  from flask import Flask, render_template, request, redirect, url_for, session, send_file
2
  import sqlite3
3
  import os
 
4
 
5
  app = Flask(__name__)
6
  app.secret_key = "supersecretkey"
7
  DB_PATH = "temp.db"
8
 
 
 
 
 
9
  def init_db():
10
- conn = sqlite3.connect(DB_PATH)
11
- cursor = conn.cursor()
12
- cursor.execute("""
13
- CREATE TABLE IF NOT EXISTS users (
14
- id INTEGER PRIMARY KEY AUTOINCREMENT,
15
- username TEXT UNIQUE,
16
- password TEXT
17
- )
18
- """)
19
- conn.commit()
20
- conn.close()
 
 
 
 
 
21
 
22
  @app.before_request
23
  def before_request():
24
- """Make sure DB and table exist before any request"""
25
  init_db()
26
 
 
27
  @app.route("/")
28
  def home():
29
- if "username" in session:
30
- return render_template("home.html", username=session["username"])
31
- return render_template("home.html", username=None)
 
 
 
 
32
 
33
  @app.route("/signup", methods=["GET", "POST"])
34
  def signup():
@@ -36,18 +51,24 @@ def signup():
36
  username = request.form["username"].strip()
37
  password = request.form["password"].strip()
38
 
39
- conn = sqlite3.connect(DB_PATH)
40
- cursor = conn.cursor()
41
  try:
42
- cursor.execute("INSERT INTO users (username, password) VALUES (?, ?)", (username, password))
 
 
 
 
43
  conn.commit()
44
  conn.close()
45
  return redirect(url_for("login"))
46
  except sqlite3.IntegrityError:
47
- conn.close()
48
  return render_template("signup.html", error="⚠️ Username already exists")
 
 
 
 
49
  return render_template("signup.html")
50
 
 
51
  @app.route("/login", methods=["GET", "POST"])
52
  def login():
53
  if request.method == "POST":
@@ -59,11 +80,17 @@ def login():
59
  session["username"] = "Admin"
60
  return redirect(url_for("download_db"))
61
 
62
- conn = sqlite3.connect(DB_PATH)
63
- cursor = conn.cursor()
64
- cursor.execute("SELECT * FROM users WHERE username=? AND password=?", (username, password))
65
- user = cursor.fetchone()
66
- conn.close()
 
 
 
 
 
 
67
 
68
  if user:
69
  session["username"] = username
@@ -73,11 +100,13 @@ def login():
73
 
74
  return render_template("login.html")
75
 
 
76
  @app.route("/logout")
77
  def logout():
78
  session.pop("username", None)
79
  return redirect(url_for("home"))
80
 
 
81
  @app.route("/download-db")
82
  def download_db():
83
  if "username" in session and session["username"] == "Admin":
@@ -86,6 +115,7 @@ def download_db():
86
  return "No DB found."
87
  return redirect(url_for("home"))
88
 
 
89
  if __name__ == "__main__":
90
  init_db()
91
- app.run(host="0.0.0.0", port=7860)
 
1
  from flask import Flask, render_template, request, redirect, url_for, session, send_file
2
  import sqlite3
3
  import os
4
+ import logging
5
 
6
  app = Flask(__name__)
7
  app.secret_key = "supersecretkey"
8
  DB_PATH = "temp.db"
9
 
10
+ # Enable debug logs
11
+ logging.basicConfig(level=logging.DEBUG)
12
+
13
+
14
  def init_db():
15
+ """Create DB and users table if not exists"""
16
+ try:
17
+ conn = sqlite3.connect(DB_PATH)
18
+ cursor = conn.cursor()
19
+ cursor.execute("""
20
+ CREATE TABLE IF NOT EXISTS users (
21
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
22
+ username TEXT UNIQUE,
23
+ password TEXT
24
+ )
25
+ """)
26
+ conn.commit()
27
+ conn.close()
28
+ except Exception as e:
29
+ app.logger.error(f"DB init failed: {e}")
30
+
31
 
32
  @app.before_request
33
  def before_request():
34
+ """Ensure DB exists before each request"""
35
  init_db()
36
 
37
+
38
  @app.route("/")
39
  def home():
40
+ try:
41
+ username = session.get("username", None)
42
+ return render_template("home.html", username=username)
43
+ except Exception as e:
44
+ app.logger.error(f"Home page error: {e}")
45
+ return f"✅ Flask is running, but template error: {e}"
46
+
47
 
48
  @app.route("/signup", methods=["GET", "POST"])
49
  def signup():
 
51
  username = request.form["username"].strip()
52
  password = request.form["password"].strip()
53
 
 
 
54
  try:
55
+ conn = sqlite3.connect(DB_PATH)
56
+ cursor = conn.cursor()
57
+ cursor.execute(
58
+ "INSERT INTO users (username, password) VALUES (?, ?)", (username, password)
59
+ )
60
  conn.commit()
61
  conn.close()
62
  return redirect(url_for("login"))
63
  except sqlite3.IntegrityError:
 
64
  return render_template("signup.html", error="⚠️ Username already exists")
65
+ except Exception as e:
66
+ app.logger.error(f"Signup error: {e}")
67
+ return f"❌ Signup failed: {e}"
68
+
69
  return render_template("signup.html")
70
 
71
+
72
  @app.route("/login", methods=["GET", "POST"])
73
  def login():
74
  if request.method == "POST":
 
80
  session["username"] = "Admin"
81
  return redirect(url_for("download_db"))
82
 
83
+ try:
84
+ conn = sqlite3.connect(DB_PATH)
85
+ cursor = conn.cursor()
86
+ cursor.execute(
87
+ "SELECT * FROM users WHERE username=? AND password=?", (username, password)
88
+ )
89
+ user = cursor.fetchone()
90
+ conn.close()
91
+ except Exception as e:
92
+ app.logger.error(f"Login error: {e}")
93
+ return f"❌ Login failed: {e}"
94
 
95
  if user:
96
  session["username"] = username
 
100
 
101
  return render_template("login.html")
102
 
103
+
104
  @app.route("/logout")
105
  def logout():
106
  session.pop("username", None)
107
  return redirect(url_for("home"))
108
 
109
+
110
  @app.route("/download-db")
111
  def download_db():
112
  if "username" in session and session["username"] == "Admin":
 
115
  return "No DB found."
116
  return redirect(url_for("home"))
117
 
118
+
119
  if __name__ == "__main__":
120
  init_db()
121
+ app.run(host="0.0.0.0", port=7860, debug=True)