initial commit of finplan - works, with basic csv dump, need to remove unneeded variables, reformat and improve csv next
This commit is contained in:
98
db.py
Normal file
98
db.py
Normal file
@@ -0,0 +1,98 @@
|
||||
# db.py
|
||||
import sqlite3
|
||||
|
||||
def connect_db():
|
||||
conn = sqlite3.connect('finance.db')
|
||||
conn.row_factory = sqlite3.Row # This allows us to access columns by name
|
||||
return conn
|
||||
|
||||
def init_db():
|
||||
conn = connect_db()
|
||||
cur = conn.cursor()
|
||||
cur.execute('''CREATE TABLE IF NOT EXISTS finance (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
D_Salary INTEGER,
|
||||
M_salary INTEGER,
|
||||
D_Num_fortnights_pay INTEGER,
|
||||
M_Num_fortnights_pay INTEGER,
|
||||
School_Fees INTEGER,
|
||||
Car_loan_via_pay INTEGER,
|
||||
Car_loan INTEGER,
|
||||
Car_balloon INTEGER,
|
||||
Living_Expenses INTEGER,
|
||||
Savings INTEGER,
|
||||
Interest_Rate REAL,
|
||||
Inflation REAL,
|
||||
M_payout INTEGER,
|
||||
Mich_present INTEGER,
|
||||
Overseas_trip INTEGER,
|
||||
Mark_reno INTEGER,
|
||||
D_leave_owed_in_days REAL,
|
||||
D_TLS_shares INTEGER,
|
||||
M_TLS_shares INTEGER,
|
||||
D_CBA_shares INTEGER,
|
||||
TLS_price REAL,
|
||||
CBA_price REAL,
|
||||
Overseas_trip_date STRING,
|
||||
Mark_reno_date STRING,
|
||||
M_payout_date STRING,
|
||||
Sell_shares INTEGER
|
||||
)''')
|
||||
|
||||
# Check if table is empty, if so insert default values
|
||||
cur.execute('SELECT COUNT(*) FROM finance')
|
||||
if cur.fetchone()[0] == 0:
|
||||
cur.execute('''INSERT INTO finance (D_Salary, M_salary, D_Num_fortnights_pay, M_Num_fortnights_pay,
|
||||
School_Fees, Car_loan_via_pay, Car_loan, Car_balloon, Living_Expenses, Savings, Interest_Rate,
|
||||
Inflation, M_payout, Mich_present, Overseas_trip, Mark_reno, D_leave_owed_in_days, D_TLS_shares,
|
||||
M_TLS_shares, D_CBA_shares, TLS_price, CBA_price, Overseas_trip_date, Mark_reno_date,
|
||||
M_payout_date, Sell_shares)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)''',
|
||||
(4762.29, 1962.56, 7, 1, 22000, 620, 1001.12, 45824.68, 65000, 297000, 5.0, 3.9, 96000,10000,28000,10000,90.6,1000,750,1095,4.03,156.21,'2025-06-01','2025-09-01', '2025-01-20', 6))
|
||||
# NOTE: 1001.12 car-pay -- is 1017.99 (actual rate) - 16.87 (car park)
|
||||
# NOTE: o/s trip. ~ $4kpp flights x3, then ~$3k / week in barcelona accom, $100pp/pd for food ($2k), + spending money
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
def get_finance_data():
|
||||
conn = connect_db()
|
||||
cur = conn.cursor()
|
||||
cur.execute('SELECT * FROM finance WHERE id = 1') # Assuming a single record for simplicity
|
||||
finance = cur.fetchone()
|
||||
conn.close()
|
||||
return dict(finance)
|
||||
|
||||
def update_finance(data):
|
||||
|
||||
conn = connect_db()
|
||||
cur = conn.cursor()
|
||||
cur.execute('''UPDATE finance SET
|
||||
D_Salary = ?,
|
||||
M_salary = ?,
|
||||
D_Num_fortnights_pay = ?,
|
||||
M_Num_fortnights_pay = ?,
|
||||
School_Fees = ?,
|
||||
Car_loan_via_pay = ?,
|
||||
Car_loan = ?,
|
||||
Car_balloon = ?,
|
||||
Living_Expenses = ?,
|
||||
Savings = ?,
|
||||
Interest_Rate = ?,
|
||||
Inflation = ?,
|
||||
M_payout = ?,
|
||||
Mich_present = ?,
|
||||
Overseas_trip = ?,
|
||||
Mark_reno = ?,
|
||||
D_leave_owed_in_days = ?,
|
||||
D_TLS_shares = ?,
|
||||
M_TLS_shares = ?,
|
||||
D_CBA_shares = ?,
|
||||
TLS_price = ?,
|
||||
CBA_price = ?,
|
||||
Overseas_trip_date = ?,
|
||||
Mark_reno_date = ?,
|
||||
M_payout_date = ?,
|
||||
Sell_shares = ?
|
||||
WHERE id = 1''', data)
|
||||
conn.commit()
|
||||
conn.close()
|
||||
Reference in New Issue
Block a user