# - *- 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)