ekjotsingh commited on
Commit
7675694
·
verified ·
1 Parent(s): 53113c8

Update storage.py

Browse files
Files changed (1) hide show
  1. storage.py +4 -13
storage.py CHANGED
@@ -4,40 +4,31 @@ import time
4
  import threading
5
 
6
  DB_FILE = "hunter_data.db"
7
- db_lock = threading.Lock() # <--- NEW: Prevents database corruption
8
 
9
  def init_db():
10
  with db_lock:
11
  conn = sqlite3.connect(DB_FILE, check_same_thread=False)
12
  c = conn.cursor()
13
  c.execute('''CREATE TABLE IF NOT EXISTS results
14
- (symbol TEXT PRIMARY KEY,
15
- score INTEGER,
16
- decision TEXT,
17
- trend TEXT,
18
- metrics TEXT,
19
- reason TEXT,
20
- timestamp REAL)''')
21
  c.execute('''CREATE TABLE IF NOT EXISTS state
22
  (key TEXT PRIMARY KEY, value TEXT)''')
23
  conn.commit()
24
  conn.close()
25
 
26
  def save_result(data):
27
- """Thread-safe save."""
28
  with db_lock:
29
  conn = sqlite3.connect(DB_FILE, check_same_thread=False)
30
  c = conn.cursor()
31
- c.execute('''INSERT OR REPLACE INTO results
32
- (symbol, score, decision, trend, metrics, reason, timestamp)
33
- VALUES (?, ?, ?, ?, ?, ?, ?)''',
34
  (data['Ticker'], data['Score'], data['Decision'],
35
  data['Trend'], data['Key Metrics'], data['AI Reasoning'], time.time()))
36
  conn.commit()
37
  conn.close()
38
 
39
  def fetch_results():
40
- """Thread-safe read."""
41
  with db_lock:
42
  conn = sqlite3.connect(DB_FILE, check_same_thread=False)
43
  try:
 
4
  import threading
5
 
6
  DB_FILE = "hunter_data.db"
7
+ db_lock = threading.Lock()
8
 
9
  def init_db():
10
  with db_lock:
11
  conn = sqlite3.connect(DB_FILE, check_same_thread=False)
12
  c = conn.cursor()
13
  c.execute('''CREATE TABLE IF NOT EXISTS results
14
+ (symbol TEXT PRIMARY KEY, score INTEGER, decision TEXT,
15
+ trend TEXT, metrics TEXT, reason TEXT, timestamp REAL)''')
 
 
 
 
 
16
  c.execute('''CREATE TABLE IF NOT EXISTS state
17
  (key TEXT PRIMARY KEY, value TEXT)''')
18
  conn.commit()
19
  conn.close()
20
 
21
  def save_result(data):
 
22
  with db_lock:
23
  conn = sqlite3.connect(DB_FILE, check_same_thread=False)
24
  c = conn.cursor()
25
+ c.execute('''INSERT OR REPLACE INTO results VALUES (?, ?, ?, ?, ?, ?, ?)''',
 
 
26
  (data['Ticker'], data['Score'], data['Decision'],
27
  data['Trend'], data['Key Metrics'], data['AI Reasoning'], time.time()))
28
  conn.commit()
29
  conn.close()
30
 
31
  def fetch_results():
 
32
  with db_lock:
33
  conn = sqlite3.connect(DB_FILE, check_same_thread=False)
34
  try: