initial commit of finplan - works, with basic csv dump, need to remove unneeded variables, reformat and improve csv next

This commit is contained in:
2025-01-30 16:23:05 +11:00
commit 01d373e731
1355 changed files with 249815 additions and 0 deletions

98
db.py Normal file
View 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()