1
0
mirror of https://gist.github.com/6ba37e4d4084e858f917e271550ce5f6.git synced 2024-09-20 00:34:20 +03:00
picsorter/database.py

40 lines
1.2 KiB
Python
Raw Normal View History

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()