VOIP / db_utils.py
Shymaa2611
update database
930e1b9
import sqlite3
import json
DB_FILE = 'predictions.db'
def init_db():
conn = sqlite3.connect(DB_FILE)
c = conn.cursor()
c.execute('''
CREATE TABLE IF NOT EXISTS predictions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
input TEXT,
predicted_class TEXT,
probability REAL,
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP
)
''')
conn.commit()
conn.close()
def insert_prediction(input_data, result):
conn = sqlite3.connect(DB_FILE)
c = conn.cursor()
c.execute('''
INSERT INTO predictions (input, predicted_class, probability)
VALUES (?, ?, ?)
''', (json.dumps(input_data), result['class'], result['probability']))
conn.commit()
conn.close()
def get_latest_prediction():
conn = sqlite3.connect(DB_FILE)
c = conn.cursor()
c.execute('''
SELECT input, predicted_class, probability, timestamp
FROM predictions
ORDER BY id DESC
LIMIT 2
''')
rows = c.fetchall()
conn.close()
if rows:
return [
{
"input": json.loads(row[0]),
"class": row[1],
"probability": row[2],
"timestamp": row[3]
}
for row in rows
]
return []
def get_all_predictions():
conn = sqlite3.connect(DB_FILE)
c = conn.cursor()
c.execute('''
SELECT input, predicted_class, probability, timestamp
FROM predictions
''')
rows = c.fetchall()
conn.close()
results = []
for row in rows:
results.append({
"input": json.loads(row[0]),
"class": row[1],
"probability": row[2],
"timestamp": row[3]
})
return results