VocabLine / vocab.py
dayuian's picture
Update vocab.py
f2efbc0 verified
raw
history blame
1.15 kB
import sqlite3
import os
DATA_DIR = "./data"
DB_PATH = os.path.join(DATA_DIR, "sentences.db")
# 建立資料表(若不存在)
def init_db():
conn = sqlite3.connect(DB_PATH)
c = conn.cursor()
c.execute('''
CREATE TABLE IF NOT EXISTS sentences (
word TEXT PRIMARY KEY,
phonetic TEXT,
sentence TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
)
''')
conn.commit()
conn.close()
# 查句庫,傳回 (word, phonetic, sentence) 或 None
def get_sentence(word):
conn = sqlite3.connect(DB_PATH)
c = conn.cursor()
c.execute('SELECT word, phonetic, sentence FROM sentences WHERE word=?', (word,))
result = c.fetchone()
conn.close()
return result
# 保存句子到 SQLite
def save_sentence(word, phonetic, sentence):
conn = sqlite3.connect(DB_PATH)
c = conn.cursor()
c.execute('''
INSERT INTO sentences (word, phonetic, sentence)
VALUES (?, ?, ?)
ON CONFLICT(word) DO UPDATE SET sentence=excluded.sentence, phonetic=excluded.phonetic
''', (word, phonetic, sentence))
conn.commit()
conn.close()
# 初始化資料表
init_db()