Files
Bot-Template/tgbot/database/db_settings.py
T
2025-10-10 07:06:23 +03:00

44 lines
1.2 KiB
Python

# - *- coding: utf- 8 - *-
import sqlite3
from pydantic import BaseModel
from tgbot.data.config import PATH_DATABASE
from tgbot.database.adb_helper import Databasex, dict_factory, update_format
# Table model
class ModelBase(BaseModel):
status_work: str # Status bot work
class Config:
json_schema_extra = {
'storage_name': 'storage_settings'
}
# Settings
class Settingsx(Databasex[ModelBase]):
def __init__(self):
super().__init__()
self.table_model = ModelBase
self.storage_name = self.table_model.model_json_schema()['storage_name']
self.column_one = True
# Get entry
def get(self) -> ModelBase:
with sqlite3.connect(PATH_DATABASE) as con:
con.row_factory = dict_factory
sql = f"SELECT * FROM {self.storage_name}"
return ModelBase(**con.execute(sql).fetchone())
# Edit entry
def update(self, **kwargs):
with sqlite3.connect(PATH_DATABASE) as con:
con.row_factory = dict_factory
sql = f"UPDATE {self.storage_name} SET"
sql, parameters = update_format(sql, kwargs)
con.execute(sql, parameters)