Внутри функции есть еще одна функция get_sorted_args(). И вопрос: нужно ли сделать так чтобы она принимала аргументы args и kwargs, или оставить так?? В моем случае она ничего не принимает и берет аргументы kwargs и args из вне, из основной функции
def connect(func):
def wrapper(self, *args, **kwargs):
db = sqlite3.connect(self.base)
func(self, db, *args, **kwargs)
db.commit()
return wrapper
@connect
def cache(self, db_connection, *args, **kwargs):
# Возвращает строку ключа tables, отсортированную от указании типов данных
# прим. 'name TEXT, price INT' => 'name, price'
def get_clear_table_cells() -> str:
cells_arr = self.table_cells.split(',')
clear_table_arr = [el.split()[0] for el in cells_arr]
clear_table = ', '.join(clear_table_arr)
return clear_table
# Возвращает строку, подготовленную для заполнения в базу данных
# прим. (54353453, 8, '656', True) {'arg': 10} => "'54353453', '8', '656', 'True', '10'"
def get_sorted_args() -> str:
args_arr = list(args) + [kwargs[el] for el in kwargs]
args_arr_to_str = ["'" + str(el) + "'" for el in args_arr]
sorted_args = str(', '.join(args_arr_to_str))
return sorted_args
clear_table_cells = get_clear_table_cells()
sorted_args = get_sorted_args(args, kwargs)