Spaces:
Sleeping
Sleeping
| import sqlite3 | |
| from datetime import date | |
| # ---------------- DATABASE CONNECTION ---------------- | |
| def get_connection(): | |
| conn = sqlite3.connect("fitplan.db", check_same_thread=False) | |
| return conn | |
| # ---------------- CREATE TABLES ---------------- | |
| def create_tables(): | |
| conn = get_connection() | |
| cur = conn.cursor() | |
| cur.execute(""" | |
| CREATE TABLE IF NOT EXISTS users( | |
| id INTEGER PRIMARY KEY AUTOINCREMENT, | |
| email TEXT UNIQUE, | |
| password TEXT, | |
| otp TEXT | |
| ) | |
| """) | |
| cur.execute(""" | |
| CREATE TABLE IF NOT EXISTS fitness_data( | |
| id INTEGER PRIMARY KEY AUTOINCREMENT, | |
| user_email TEXT, | |
| date TEXT, | |
| weight REAL | |
| ) | |
| """) | |
| conn.commit() | |
| conn.close() | |
| # ---------------- REGISTER USER ---------------- | |
| def register_user(email, password): | |
| conn = get_connection() | |
| cur = conn.cursor() | |
| try: | |
| cur.execute( | |
| "INSERT INTO users(email,password) VALUES (?,?)", | |
| (email, password) | |
| ) | |
| conn.commit() | |
| return True | |
| except: | |
| return False | |
| finally: | |
| conn.close() | |
| # ---------------- LOGIN USER ---------------- | |
| def login_user(email, password): | |
| conn = get_connection() | |
| cur = conn.cursor() | |
| cur.execute( | |
| "SELECT * FROM users WHERE email=? AND password=?", | |
| (email, password) | |
| ) | |
| user = cur.fetchone() | |
| conn.close() | |
| return user | |
| # ---------------- SAVE WEIGHT ---------------- | |
| def save_weight(email, weight): | |
| today = str(date.today()) | |
| conn = get_connection() | |
| cur = conn.cursor() | |
| cur.execute( | |
| "INSERT INTO fitness_data(user_email,date,weight) VALUES (?,?,?)", | |
| (email, today, weight) | |
| ) | |
| conn.commit() | |
| conn.close() | |
| # ---------------- GET WEIGHT HISTORY ---------------- | |
| def get_weight_history(email): | |
| conn = get_connection() | |
| cur = conn.cursor() | |
| cur.execute( | |
| "SELECT date,weight FROM fitness_data WHERE user_email=?", | |
| (email,) | |
| ) | |
| data = cur.fetchall() | |
| conn.close() | |
| return data |