mirror of
https://github.com/LibreTranslate/LibreTranslate.git
synced 2025-05-04 12:24:52 +00:00
app->libretranslate; mv tests/ inside libretranslate/
This commit is contained in:
parent
40a1141eac
commit
a23a9fbd75
47 changed files with 24 additions and 25 deletions
39
libretranslate/suggestions.py
Normal file
39
libretranslate/suggestions.py
Normal file
|
@ -0,0 +1,39 @@
|
|||
import sqlite3
|
||||
import os
|
||||
|
||||
from expiringdict import ExpiringDict
|
||||
|
||||
DEFAULT_DB_PATH = "db/suggestions.db"
|
||||
|
||||
|
||||
class Database:
|
||||
def __init__(self, db_path=DEFAULT_DB_PATH, max_cache_len=1000, max_cache_age=30):
|
||||
# Legacy check - this can be removed at some point in the near future
|
||||
if os.path.isfile("suggestions.db") and not os.path.isfile("db/suggestions.db"):
|
||||
print("Migrating %s to %s" % ("suggestions.db", "db/suggestions.db"))
|
||||
try:
|
||||
os.rename("suggestions.db", "db/suggestions.db")
|
||||
except Exception as e:
|
||||
print(str(e))
|
||||
|
||||
self.db_path = db_path
|
||||
self.cache = ExpiringDict(max_len=max_cache_len, max_age_seconds=max_cache_age)
|
||||
|
||||
# Make sure to do data synchronization on writes!
|
||||
self.c = sqlite3.connect(db_path, check_same_thread=False)
|
||||
self.c.execute(
|
||||
"""CREATE TABLE IF NOT EXISTS suggestions (
|
||||
"q" TEXT NOT NULL,
|
||||
"s" TEXT NOT NULL,
|
||||
"source" TEXT NOT NULL,
|
||||
"target" TEXT NOT NULL
|
||||
);"""
|
||||
)
|
||||
|
||||
def add(self, q, s, source, target):
|
||||
self.c.execute(
|
||||
"INSERT INTO suggestions (q, s, source, target) VALUES (?, ?, ?, ?)",
|
||||
(q, s, source, target),
|
||||
)
|
||||
self.c.commit()
|
||||
return True
|
Loading…
Add table
Add a link
Reference in a new issue