Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| import os | |
| # Set a writable path for the Excel file within the app directory | |
| BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # Current script directory | |
| CUSTOMERS_FILE = os.path.join(BASE_DIR, "..workspace/database/Book1.xlsx") | |
| # Ensure the database directory exists | |
| if not os.path.exists(os.path.dirname(CUSTOMERS_FILE)): | |
| os.makedirs(os.path.dirname(CUSTOMERS_FILE)) # Create database directory | |
| # Ensure the file exists with the required structure | |
| if not os.path.exists(CUSTOMERS_FILE): | |
| print("Creating new Excel file as it doesn't exist.") | |
| pd.DataFrame(columns=["Name", "Phone", "Email", "Password"]).to_excel(CUSTOMERS_FILE, index=False) | |
| def check_credentials(email, password): | |
| try: | |
| df = pd.read_excel(CUSTOMERS_FILE) | |
| except Exception as e: | |
| print("Error reading Excel file:", e) | |
| return False | |
| user = df[(df["Email"] == email) & (df["Password"] == password)] | |
| return not user.empty | |
| def save_user(name, phone, email, password): | |
| print("Attempting to save user:", name, phone, email, password) | |
| try: | |
| # Read the existing data | |
| df = pd.read_excel(CUSTOMERS_FILE) | |
| except Exception as e: | |
| print("Error reading Excel file:", e) | |
| return False | |
| print("Existing data before appending:\n", df) | |
| # Check if email already exists | |
| if email in df["Email"].values: | |
| print("Error: Email already exists.") | |
| return False | |
| # Add new user data | |
| new_user = { | |
| "Name": str(name).strip(), | |
| "Phone": str(phone).strip(), | |
| "Email": str(email).strip(), | |
| "Password": str(password).strip() | |
| } | |
| df = pd.concat([df, pd.DataFrame([new_user])], ignore_index=True) | |
| # Save updated data back to the Excel file | |
| try: | |
| with pd.ExcelWriter(CUSTOMERS_FILE, engine="openpyxl", mode="w") as writer: | |
| df.to_excel(writer, index=False) | |
| print("User saved successfully. Updated data:\n", df) | |
| # Confirm save by re-reading the file | |
| df_check = pd.read_excel(CUSTOMERS_FILE) | |
| print("Data in file after saving:\n", df_check) | |
| return True | |
| except Exception as e: | |
| print("Error while saving to Excel:", e) | |
| return False |