-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdb_service.py
34 lines (28 loc) · 1.46 KB
/
db_service.py
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
import sqlite3
connection = sqlite3.connect("transcripts.sqlite")
cursor = connection.cursor()
def init_db():
# connection = sqlite3.connect("transcripts.sqlite")
cursor.execute("CREATE TABLE IF NOT EXISTS transcripts (audio_id TEXT UNIQUE, audio_file TEXT, transcript TEXT, status TEXT, error_message TEXT)")
connection.commit()
def add_episode_to_db(audio_id, file, error_message=''):
init_db()
if len(error_message) > 0:
status = 'error'
else:
status = 'pending'
print(status)
cursor.execute("INSERT INTO transcripts (audio_id, audio_file, transcript, status, error_message) VALUES (?, ?, ?, ?, ?) ON CONFLICT(audio_id) DO UPDATE SET audio_file = excluded.audio_file, transcript = excluded.transcript, status = excluded.status, error_message = excluded.error_message", (audio_id, file, '', status, error_message))
connection.commit()
# print(file, 'added to database')
def update_transcript_in_db(audio_id, transcript, error_message=''):
if len(error_message) > 0:
status = 'error'
else:
status = 'done'
if len(transcript) > 100:
transcript=transcript[:99]
print(status)
cursor.execute("INSERT INTO transcripts (audio_id, transcript, status, error_message) VALUES (?, ?, ?, ?) ON CONFLICT(audio_id) DO UPDATE SET transcript = excluded.transcript, status = excluded.status, error_message = excluded.error_message", (audio_id, transcript, status, error_message))
connection.commit()
print(audio_id, 'transcript updated in database')