File size: 1,797 Bytes
da8dab8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bba2fd8
da8dab8
930e1b9
da8dab8
930e1b9
 
 
 
 
 
 
 
 
 
 
 
e9c79f8
 
 
 
0b88451
 
 
 
 
 
e9c79f8
0b88451
f7eea1b
 
0b88451
 
 
 
 
 
 
f7eea1b
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
67
68
69
70
71
72
73
74
75
76
77
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