mirror of
https://github.com/ada-dmitry/lab6.git
synced 2026-09-24 09:20:15 +00:00
Готов update 0.7 в прод
This commit is contained in:
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -44,3 +44,10 @@ def validate_input(prompt, min_value, max_value):
|
|||||||
print(f"Введенное значение должно быть в диапазоне от {min_value} до {max_value}")
|
print(f"Введенное значение должно быть в диапазоне от {min_value} до {max_value}")
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print("Введенное значение должно быть числом.")
|
print("Введенное значение должно быть числом.")
|
||||||
|
|
||||||
|
|
||||||
|
test1 = 'erhwogngonwro'
|
||||||
|
test2 = '1 minute'
|
||||||
|
test3 = '2 hours 3 minutes'
|
||||||
|
|
||||||
|
print(validate_time_format(test1), validate_time_format(test2), validate_time_format(test3))
|
||||||
@@ -17,8 +17,8 @@ TODO:
|
|||||||
4) UPDATE для категорий - done
|
4) UPDATE для категорий - done
|
||||||
5) Красивый вывод - done
|
5) Красивый вывод - done
|
||||||
6) Доделать ограничение на выбор категории - done
|
6) Доделать ограничение на выбор категории - done
|
||||||
7) Постраничный вывод - indev
|
7) UPDATE для блюд - done
|
||||||
8) UPDATE для блюд - indev
|
8) Постраничный вывод - indev
|
||||||
|
|
||||||
FIXME:
|
FIXME:
|
||||||
'''
|
'''
|
||||||
@@ -82,7 +82,7 @@ class Main:
|
|||||||
menu = texts.show_cath_1txt
|
menu = texts.show_cath_1txt
|
||||||
print(menu)
|
print(menu)
|
||||||
lst = CathTable().all()
|
lst = CathTable().all()
|
||||||
self.max_cath_index = (len(lst)+1)
|
self.max_cath_index = (len(lst))
|
||||||
for i in lst:
|
for i in lst:
|
||||||
self.cath_arr.append(str(i[0]))
|
self.cath_arr.append(str(i[0]))
|
||||||
|
|
||||||
@@ -99,7 +99,7 @@ class Main:
|
|||||||
while True:
|
while True:
|
||||||
if next_step == "4": # Удаление категории
|
if next_step == "4": # Удаление категории
|
||||||
x = add_func.validate_input('Введите номер удаляемой категории (0 - для отмены): ', 0, self.max_cath_index)
|
x = add_func.validate_input('Введите номер удаляемой категории (0 - для отмены): ', 0, self.max_cath_index)
|
||||||
if(x!=0):
|
if(x!=-1):
|
||||||
CathTable().delete(self.cath_arr[int(x)-1])
|
CathTable().delete(self.cath_arr[int(x)-1])
|
||||||
return "1"
|
return "1"
|
||||||
|
|
||||||
@@ -109,7 +109,7 @@ class Main:
|
|||||||
|
|
||||||
elif next_step == "7":#Удаление блюда из категории
|
elif next_step == "7":#Удаление блюда из категории
|
||||||
x = add_func.validate_input('Введите номер удаляемого блюда (0 - для отмены): ', 0, self.max_index)
|
x = add_func.validate_input('Введите номер удаляемого блюда (0 - для отмены): ', 0, self.max_index)
|
||||||
if(x!=0):
|
if(x!=-1):
|
||||||
DishTable().delete(self.dish_arr[int(x)-1][0])
|
DishTable().delete(self.dish_arr[int(x)-1][0])
|
||||||
else:
|
else:
|
||||||
return "1"
|
return "1"
|
||||||
@@ -120,13 +120,12 @@ class Main:
|
|||||||
|
|
||||||
elif next_step == "8": # Обновление названия категории
|
elif next_step == "8": # Обновление названия категории
|
||||||
x = add_func.validate_input('Введите номер обновляемой категории (0 - для отмены): ', 0, self.max_cath_index)
|
x = add_func.validate_input('Введите номер обновляемой категории (0 - для отмены): ', 0, self.max_cath_index)
|
||||||
if(x!=0):
|
if(x!=-1):
|
||||||
CathTable().cath_update(self.cath_arr[int(x)-1])
|
CathTable().cath_update(self.cath_arr[int(x)-1])
|
||||||
return "1"
|
return "1"
|
||||||
|
elif next_step == "88":
|
||||||
elif next_step == "u":
|
|
||||||
x = add_func.validate_input('Введите номер изменяемого блюда (0 - для отмены): ', 0, self.max_index)
|
x = add_func.validate_input('Введите номер изменяемого блюда (0 - для отмены): ', 0, self.max_index)
|
||||||
if(x!=0):
|
if(x!=-1):
|
||||||
DishTable().update_dish(self.dish_arr[int(x)-1][0])
|
DishTable().update_dish(self.dish_arr[int(x)-1][0])
|
||||||
else:
|
else:
|
||||||
return "1"
|
return "1"
|
||||||
@@ -165,7 +164,7 @@ class Main:
|
|||||||
if self.cath_id == -1:
|
if self.cath_id == -1:
|
||||||
while True:
|
while True:
|
||||||
x = add_func.validate_input('Выберите номер интересуемой категории (0 - отмена): ', 0, self.max_cath_index)
|
x = add_func.validate_input('Выберите номер интересуемой категории (0 - отмена): ', 0, self.max_cath_index)
|
||||||
if(x!=0):
|
if(x!=-1):
|
||||||
self.cath_id = CathTable().find_by_name(self.cath_arr[x-1])
|
self.cath_id = CathTable().find_by_name(self.cath_arr[x-1])
|
||||||
self.cath_obj = self.cath_arr[x-1]
|
self.cath_obj = self.cath_arr[x-1]
|
||||||
else:
|
else:
|
||||||
BIN
Binary file not shown.
@@ -64,6 +64,14 @@ class DishTable(DbTable):
|
|||||||
cur.close()
|
cur.close()
|
||||||
return str(result)
|
return str(result)
|
||||||
|
|
||||||
|
def id_by_name(self, name):
|
||||||
|
sql = f"""SELECT id FROM dish WHERE dish_name = '{name}'"""
|
||||||
|
cur = self.dbconn.conn.cursor()
|
||||||
|
cur.execute(sql)
|
||||||
|
result = cur.fetchone()
|
||||||
|
cur.close()
|
||||||
|
return str(result)
|
||||||
|
|
||||||
def insert_dishone(self, cath_id):
|
def insert_dishone(self, cath_id):
|
||||||
|
|
||||||
ins_name = input('Введите название добавляемого блюда (1 - для отмены): ')
|
ins_name = input('Введите название добавляемого блюда (1 - для отмены): ')
|
||||||
@@ -89,11 +97,12 @@ class DishTable(DbTable):
|
|||||||
|
|
||||||
ins_time = input(f'Процесс добавления блюда: {ins_name}\
|
ins_time = input(f'Процесс добавления блюда: {ins_name}\
|
||||||
\nВведите время приготовления в формате 10 minutes/1 hour 5 minutes (1 - для отмены): ')
|
\nВведите время приготовления в формате 10 minutes/1 hour 5 minutes (1 - для отмены): ')
|
||||||
while(ins_time==0)or(add_func.validate_time_format(ins_time)):
|
while(ins_time==0)or(add_func.validate_time_format(ins_time)==False):
|
||||||
if ins_time == "0":
|
if ins_time == "0":
|
||||||
return "1"
|
return "1"
|
||||||
else:
|
else:
|
||||||
ins_time = input('Введите время приготовления в формате 10 minutes/1 hour 5 minutes (1 - для отмены): ')
|
ins_time = input('Время введено в неверном формате. Повторите попытку.\n\
|
||||||
|
Введите время приготовления в формате 10 minutes/1 hour 5 minutes (1 - для отмены): ')
|
||||||
|
|
||||||
ins_manual = input(f'Процесс добавления блюда: {ins_name}\
|
ins_manual = input(f'Процесс добавления блюда: {ins_name}\
|
||||||
\nВведите краткую инструкцию приготовления блюда (1 - для отмены): ')
|
\nВведите краткую инструкцию приготовления блюда (1 - для отмены): ')
|
||||||
@@ -104,16 +113,16 @@ class DishTable(DbTable):
|
|||||||
|
|
||||||
self.insert_one(insert)
|
self.insert_one(insert)
|
||||||
|
|
||||||
def update_dish(self, dish_id):
|
def update_dish(self, dish):
|
||||||
print('После изменения выберите другой пункт для изменения или введите -1 для выхода')
|
print('После изменения выберите другой пункт для изменения или введите 0 для выхода')
|
||||||
x = int(input('Что вы хотите изменить в рецепте?\n\
|
x = -10000
|
||||||
1 - Название\n2 - Время приготовления\n3 - Инструкция\n=> '))
|
obj_id = self.id_by_name(dish)[1]
|
||||||
while(x!=-1):
|
while(x!=-1):
|
||||||
if(x!=1 or x!=2 or x!=3):
|
x = add_func.validate_input('Что вы хотите изменить в рецепте?\n\
|
||||||
x = int(input('Введите корректное число из списка (-1 - для выхода)\n\
|
1 - Название\n2 - Время приготовления\n3 - Инструкция\n0 - для отмены\n=> ', 0, 3)
|
||||||
1 - Название\n2 - Время приготовления\n3 - Инструкция\n=> '))
|
|
||||||
elif(x==1):
|
if(x==1):
|
||||||
new_name = input(f"Текущее название {self.name_by_id(dish_id)}")
|
new_name = input(f"Текущее название {dish}.\nВведите новое название: ")
|
||||||
while (new_name.strip() == '')or(len(new_name.strip()) > 32)\
|
while (new_name.strip() == '')or(len(new_name.strip()) > 32)\
|
||||||
or(DishTable().check_by_name(new_name)):
|
or(DishTable().check_by_name(new_name)):
|
||||||
if(new_name.strip() == ''):
|
if(new_name.strip() == ''):
|
||||||
@@ -123,7 +132,7 @@ class DishTable(DbTable):
|
|||||||
|
|
||||||
elif(len(new_name.strip()) > 32):
|
elif(len(new_name.strip()) > 32):
|
||||||
new_name = input("Слишком длинная строка. Повторите ввод!\
|
new_name = input("Слишком длинная строка. Повторите ввод!\
|
||||||
Укажите название блюда (0 - отмена): ")
|
Укажите название блюда (0 - отмена): ")
|
||||||
if new_name == "0":
|
if new_name == "0":
|
||||||
return "1"
|
return "1"
|
||||||
else:
|
else:
|
||||||
@@ -131,22 +140,25 @@ class DishTable(DbTable):
|
|||||||
new_name = input("Повторите ввод! Укажите название блюда (0 - отмена): ")
|
new_name = input("Повторите ввод! Укажите название блюда (0 - отмена): ")
|
||||||
if new_name == "0":
|
if new_name == "0":
|
||||||
return "1"
|
return "1"
|
||||||
self.update('dish_name', new_name, dish_id)
|
new_name = "'" + new_name + "'"
|
||||||
|
self.update('dish_name', new_name, obj_id)
|
||||||
|
|
||||||
elif(x==2):
|
elif(x==2):
|
||||||
new_time = input(f'Введите время приготовления в формате 10 minutes/1 hour 5 minutes (1 - для отмены): ')
|
new_time = input(f'Введите время приготовления в формате 10 minutes/1 hour 5 minutes (1 - для отмены): ')
|
||||||
while(new_time==0)or(add_func.validate_time_format(new_time)):
|
while(new_time==0)or(add_func.validate_time_format(new_time)==False):
|
||||||
if new_time == "0":
|
if new_time == "0":
|
||||||
return "1"
|
return "1"
|
||||||
else:
|
else:
|
||||||
new_time = input('Введите время приготовления в формате 10 minutes/1 hour 5 minutes (1 - для отмены): ')
|
new_time = input('Введите время приготовления в формате 10 minutes/1 hour 5 minutes (1 - для отмены): ')
|
||||||
self.update('cook_time', new_time, dish_id)
|
new_time = "'" + new_time + "'"
|
||||||
|
self.update('cook_time', new_time, obj_id)
|
||||||
|
|
||||||
elif(x==3):
|
elif(x==3):
|
||||||
new_manual = input(f'Введите краткую инструкцию приготовления блюда (1 - для отмены): ')
|
new_manual = input(f'Введите краткую инструкцию приготовления блюда (1 - для отмены): ')
|
||||||
if new_manual == "0":
|
if new_manual == "0":
|
||||||
return "1"
|
return "1"
|
||||||
self.update('manual', new_manual, dish_id)
|
new_manual = "'" + new_manual + "'"
|
||||||
|
self.update('manual', new_manual, obj_id)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -18,6 +18,7 @@ show_dish_in_cath_txt = """-----------------------------------------------------
|
|||||||
1 - возврат в просмотр категорий;
|
1 - возврат в просмотр категорий;
|
||||||
6 - добавление нового блюда;
|
6 - добавление нового блюда;
|
||||||
7 - удаление блюда;
|
7 - удаление блюда;
|
||||||
|
88 - для обновления блюда;
|
||||||
9 - выход."""
|
9 - выход."""
|
||||||
|
|
||||||
text_choice_update = """-------------------------------------------------------------------------------------------\n
|
text_choice_update = """-------------------------------------------------------------------------------------------\n
|
||||||
Reference in New Issue
Block a user