42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
# Импорт модулей стандартной библиотеки
|
||
import sqlite3
|
||
import json
|
||
|
||
|
||
class DataBase(object):
|
||
"""Класс для работы с базой данных"""
|
||
|
||
def __init__(self, path):
|
||
super(DataBase, self).__init__()
|
||
self.path = path
|
||
"""Путь к файлу базы данных SQLite3"""
|
||
|
||
def connect(self) -> bool:
|
||
"""Выполняет подключение к базе данных"""
|
||
self.conn = sqlite3.connect(self.path)
|
||
return True
|
||
|
||
def close(self) -> bool:
|
||
"""Закрывает подключение к базе данных"""
|
||
self.conn.close()
|
||
return True
|
||
|
||
def commit(self) -> None:
|
||
"""Выполняет коммит"""
|
||
self.conn.commit()
|
||
return True
|
||
|
||
def add_data(self, data, wins: bool) -> bool: # wins изменит на Enum
|
||
"""Добавляет данные в базу данных"""
|
||
if wins:
|
||
table = 'wins'
|
||
else:
|
||
table = 'donates'
|
||
|
||
cur = self.conn.cursor()
|
||
cur.execute('INSERT INTO {table} (\'data\') VALUES (\'{data}\')'.format(table=table, data=json.dumps(data)))
|
||
self.commit()
|
||
cur.close()
|
||
|
||
return True
|