2021-04-14 23:23:56 +03:00
|
|
|
import sqlite3
|
2021-04-15 12:30:26 +03:00
|
|
|
from datetime import datetime
|
|
|
|
|
2021-04-14 23:23:56 +03:00
|
|
|
|
|
|
|
class Database:
|
|
|
|
def __init__(self):
|
|
|
|
self.db_name = 'images.db'
|
|
|
|
self.__create_tables()
|
|
|
|
|
|
|
|
def __create_tables(self):
|
|
|
|
conn = sqlite3.connect(self.db_name)
|
|
|
|
c = conn.cursor()
|
|
|
|
c.executescript("""
|
2023-03-20 19:09:25 +02:00
|
|
|
CREATE TABLE IF NOT EXISTS images (
|
|
|
|
id INTEGER PRIMARY KEY NOT NULL,
|
|
|
|
provider TEXT NOT NULL,
|
2021-04-14 23:23:56 +03:00
|
|
|
tags TEXT NOT NULL,
|
2023-03-20 19:09:25 +02:00
|
|
|
created_at TIMESTAMP,
|
|
|
|
UNIQUE(id, provider) ON CONFLICT REPLACE
|
|
|
|
)
|
2021-04-14 23:23:56 +03:00
|
|
|
""")
|
|
|
|
conn.commit()
|
|
|
|
conn.close()
|
|
|
|
|
2023-07-29 17:59:01 +03:00
|
|
|
def is_exists(self, provider, _id) -> bool:
|
2021-04-14 23:23:56 +03:00
|
|
|
conn = sqlite3.connect(self.db_name)
|
|
|
|
c = conn.cursor()
|
2023-03-20 19:09:25 +02:00
|
|
|
c.execute("SELECT EXISTS(SELECT 1 FROM images WHERE id=? AND provider=?)", (_id, provider))
|
2021-04-14 23:23:56 +03:00
|
|
|
result = c.fetchone()[0]
|
|
|
|
conn.close()
|
|
|
|
return bool(result)
|
|
|
|
|
2023-03-20 19:09:25 +02:00
|
|
|
def add(self, _id, provider, tags):
|
2021-04-14 23:23:56 +03:00
|
|
|
conn = sqlite3.connect(self.db_name)
|
|
|
|
c = conn.cursor()
|
2023-03-20 19:09:25 +02:00
|
|
|
sql = 'INSERT INTO images(id, provider, tags, created_at) VALUES (?,?,?,?)'
|
|
|
|
c.execute(sql, (_id, provider, tags, datetime.now()))
|
2021-04-14 23:23:56 +03:00
|
|
|
conn.commit()
|
|
|
|
conn.close()
|