File size: 2,237 Bytes
82b2d47
 
 
dfbf5a7
 
8272b6e
82b2d47
2ff15e9
f874bf6
dfbf5a7
2a1217b
dfbf5a7
82b2d47
2ff15e9
9113e09
82b2d47
539afaf
371aa5b
 
 
 
 
 
539afaf
22a5717
539afaf
82b2d47
22a5717
f874bf6
 
dfbf5a7
f874bf6
 
 
 
313806c
22a5717
313806c
2ff15e9
9113e09
22a5717
f874bf6
313806c
2ff15e9
371aa5b
 
 
 
 
 
55048db
ee59b14
dfbf5a7
ee59b14
4e135b1
412440b
22a5717
7e99a33
2ff15e9
22a5717
 
f874bf6
ee59b14
f874bf6
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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