2022-09-11 10:31:35 +08:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
# -- coding:utf-8 --
|
|
|
|
|
# @Author: markushammered@gmail.com
|
|
|
|
|
# @Development Tool: PyCharm
|
|
|
|
|
# @Create Time: 2022/9/11
|
|
|
|
|
# @File Name: db.py
|
|
|
|
|
|
|
|
|
|
|
2022-09-14 12:46:06 +08:00
|
|
|
from src.db import operator
|
2022-09-11 10:31:35 +08:00
|
|
|
|
|
|
|
|
|
2022-11-13 15:28:38 +08:00
|
|
|
class BaseSQL:
|
2022-09-11 10:31:35 +08:00
|
|
|
def __init__(self):
|
|
|
|
|
self.conn = None
|
|
|
|
|
self.cursor = None
|
|
|
|
|
|
|
|
|
|
def __del__(self):
|
|
|
|
|
self.conn.commit()
|
|
|
|
|
self.cursor.close()
|
|
|
|
|
self.conn.close()
|
|
|
|
|
|
|
|
|
|
def query(self, _id: str) -> tuple:
|
|
|
|
|
self.cursor.execute('select * from data where id="%s";' % _id)
|
|
|
|
|
result = self.cursor.fetchone()
|
|
|
|
|
if result is None:
|
|
|
|
|
self.insert(_id)
|
|
|
|
|
return tuple([_id, 0])
|
|
|
|
|
self.update(_id, result[1])
|
|
|
|
|
return result
|
|
|
|
|
|
|
|
|
|
def insert(self, _id: str) -> bool:
|
2022-10-02 17:30:12 +08:00
|
|
|
self.cursor.execute('insert into data (id, times) values (%s, 1);' % _id)
|
2022-09-11 10:31:35 +08:00
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
def update(self, _id: str, times: int) -> bool:
|
|
|
|
|
times += 1
|
|
|
|
|
self.cursor.execute('update data set times=%s where id="%s";' % (times, _id))
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
def query_all(self) -> list:
|
|
|
|
|
self.cursor.execute('select * from data;')
|
|
|
|
|
result = self.cursor.fetchall()
|
|
|
|
|
return result
|
|
|
|
|
|
2022-09-18 09:19:39 +08:00
|
|
|
def query_image(self, theme: str) -> list:
|
2022-10-02 17:30:12 +08:00
|
|
|
self.cursor.execute('select * from %s;' % theme)
|
2022-09-11 10:31:35 +08:00
|
|
|
result = self.cursor.fetchall()
|
|
|
|
|
return result
|
|
|
|
|
|
|
|
|
|
|
2022-10-02 17:30:12 +08:00
|
|
|
class SQLite(Base):
|
2022-09-11 10:31:35 +08:00
|
|
|
def __init__(self):
|
|
|
|
|
super().__init__()
|
2022-09-14 12:46:06 +08:00
|
|
|
self.conn = operator.connect('./src/db/data.sqlite')
|
2022-09-11 10:31:35 +08:00
|
|
|
self.cursor = self.conn.cursor()
|