1
0
mirror of https://gist.github.com/6ba37e4d4084e858f917e271550ce5f6.git synced 2024-09-19 16:24:21 +03:00
picsorter/database.py
2023-07-29 18:00:12 +03:00

40 lines
1.2 KiB
Python

import sqlite3
from datetime import datetime
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("""
CREATE TABLE IF NOT EXISTS images (
id INTEGER PRIMARY KEY NOT NULL,
provider TEXT NOT NULL,
tags TEXT NOT NULL,
created_at TIMESTAMP,
UNIQUE(id, provider) ON CONFLICT REPLACE
)
""")
conn.commit()
conn.close()
def is_exists(self, provider, _id) -> bool:
conn = sqlite3.connect(self.db_name)
c = conn.cursor()
c.execute("SELECT EXISTS(SELECT 1 FROM images WHERE id=? AND provider=?)", (_id, provider))
result = c.fetchone()[0]
conn.close()
return bool(result)
def add(self, _id, provider, tags):
conn = sqlite3.connect(self.db_name)
c = conn.cursor()
sql = 'INSERT INTO images(id, provider, tags, created_at) VALUES (?,?,?,?)'
c.execute(sql, (_id, provider, tags, datetime.now()))
conn.commit()
conn.close()