RBC / db_manager.py
algorembrant's picture
Upload 16 files
7c60059 verified
import sqlite3
import json
from datetime import datetime
DB_NAME = "beam_calc.db"
def init_db():
conn = sqlite3.connect(DB_NAME)
c = conn.cursor()
c.execute('''
CREATE TABLE IF NOT EXISTS calculations (
id INTEGER PRIMARY KEY AUTOINCREMENT,
timestamp TEXT,
inputs TEXT,
results TEXT
)
''')
conn.commit()
conn.close()
def save_calculation(inputs: dict, results: dict):
conn = sqlite3.connect(DB_NAME)
c = conn.cursor()
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
c.execute('INSERT INTO calculations (timestamp, inputs, results) VALUES (?, ?, ?)',
(timestamp, json.dumps(inputs), json.dumps(results)))
conn.commit()
conn.close()
def get_history(limit=10):
conn = sqlite3.connect(DB_NAME)
c = conn.cursor()
c.execute('SELECT id, timestamp, inputs, results FROM calculations ORDER BY id DESC LIMIT ?', (limit,))
rows = c.fetchall()
conn.close()
history = []
for row in rows:
history.append({
'id': row[0],
'timestamp': row[1],
'inputs': json.loads(row[2]),
'results': json.loads(row[3])
})
return history