def check_from(user): form = CommandForm() if form.validate_on_submit(): command = form.command.data result = Command.check(command, user=user, form=form) if type(result) is str: flash(result) else: for e in result: flash(e) form.command.data = '' #return redirect(url_for('table.table', table_id = table_id)) elif request.method == 'GET': pass table = user.table() #Table.query.filter_by(id = user.table_id).first() if table is None: table_title = 'Таблица не выбрана' cols = {} rows = {} else: cols = table.get_cols() rows = table.get_rows() table_title = table.name result = dict() result.update({'table_title': table_title}) result.update({'cols': cols}) result.update({'rows': rows}) return form, result
from app.no_web.command import Command, Table def create_table(name_table, user, form): if not type(name_table) is str: return f'Параметр = {name_table}, должен быть строкой.' if not user.get_table(name_table) is None: return f'''Таблица с {name_table} таким названием уже существует!''' result = Table.create_table(name_table, user) user.select_table(result.id) return f'''Таблица {name_table} успешно создана!''' Command.bind('create_table', create_table)
from app.no_web.command import Command, Table def del_table(*kwag, user, form): errors = list() if user.table() is None: errors.append('''Таблица не выбрана!''') if len(kwag): errors.append('''Данная функция не принимает параметров!''') if len(errors): return errors name_table = user.table().name result = user.table().del_table() if result: #form.table_id = 0 return f'''Таблица {name_table} успешно удалена!''' Command.bind('del_table', del_table)
from app.no_web.command import Command, Table def add_row(*values, user=None, form=None): table = user.table() if table is None: return 'Таблица не выбрана' result = table.add_row(values=values) if result: return f'''Строка №{table.rows.count()} успешно добавлена!''' Command.bind('add_row', add_row)
from app.no_web.command import Command, Table def del_row(index, user, form): errors = list() table = user.table() if table is None: errors.append('Таблица не выбрана.') if not type(index) is int: errors.append(f'Параметр = {index}, должен быть числом.') elif index <= 0: errors.append(f'Параметр = {index}, должен быть больше нуля.') if len(errors): return errors result = table.del_row(index - 1) if result: return f'''Строка №{index} успешно удалена!''' else: return f'''Строка №{index} не существует!''' Command.bind('del_row', del_row)
from app.no_web.command import Command, Table def add_colomn(*values, user, form): errors = list() result = user.table() if result is None: errors.append('''Ошибка, таблица не выбрана!''') if not len(errors): if type(values) is str: result.add_col(name=name_col) elif type(values) is tuple: for e in values: if type(e) is str: result.add_col(name=e) else: errors.append(f'Параметр = {e}, должен быть строкой.') else: errors.append(f'Не определён тип параметра = {values}') if len(errors): return errors return f'''Успешно!''' Command.bind('add_colomn', add_colomn)
from app.no_web.command import Command, Table def rename_colomn(index_col, name_col, user, form): errors = list() table = user.table() if table is None: errors.append('Таблица не выбрана') if not type(index_col) is int: errors.append(f'Параметр = {index_col}, должен быть числом.') elif index_col <= 0: errors.append(f'Параметр = {index_col}, должен быть больше нуля.') if not type(name_col) is str: errors.append(f'Параметр = {name_col}, должен быть строкой.') if len(errors): return errors result = table.rename_colomn(index_col - 1, name_col) if result: #form.table_id = 0 return f'''Колонка с индексом = {str(index_col)} успешно изменена!''' else: return f'''Колонка с индексом = {str(index_col)} не существует!''' Command.bind('rename_colomn', rename_colomn)
from app.no_web.command import Command, Table def func(name_table, user, form): if not type(name_table) is str: return f'Параметр = {name_table}, должен быть строкой.' else: result = user.get_table(name_table) if result is None: return f'''Таблица с {name_table} таким названием не существует!''' user.select_table(result.id) return f'''Таблица {name_table} успешно выбрана!''' Command.bind('select_table', func)
from app.no_web.command import Command, Table def set_row(index_row, index_col, value, user=None, form=None): errors = list() table = user.table() if table is None: errors.append('Таблица не выбрана') if not type(index_row) is int: errors.append(f'Параметр = {index_row}, должен быть числом.') elif index_row <= 0: errors.append(f'Параметр = {index_row}, должен быть больше нуля.') if not type(index_col) is int: errors.append(f'Параметр = {index_col}, должен быть числом.') elif index_col <= 0: errors.append(f'Параметр = {index_col}, должен быть больше нуля.') if len(errors): return errors result = table.set_row(index_row - 1, index_col - 1, value) if result: #form.table_id = 0 return f'''Ячейка №{index_row}|{index_col} успешно изменена!''' else: return f'''Ячейка №{index_row}|{index_col} не существует!''' Command.bind('set_row', set_row)
from app.no_web.command import Command, Table def del_colomn(index_col, user, form): errors = list() table = user.table() if table is None: errors.append('Таблица не выбрана') if not type(index_col) is int: errors.append(f'Параметр = {index_col}, должен быть числом.') elif index_col <= 0: errors.append(f'Параметр = {index_col}, должен быть больше нуля.') if len(errors): return errors result = table.del_col(index_col=index_col - 1) if result: #form.table_id = 0 return f'''Колонка с индексом = {index_col} успешно удалена!''' else: return f'''Колонка с индексом = {index_col} не существует!''' Command.bind('del_colomn', del_colomn)