|
@@ -7,6 +7,7 @@ from src.settings.settings import settings
|
|
from src.storage.storage import storage
|
|
from src.storage.storage import storage
|
|
from src.validation.validator import validator
|
|
from src.validation.validator import validator
|
|
|
|
|
|
|
|
+
|
|
#
|
|
#
|
|
# Класс для обработки начало работы приложения
|
|
# Класс для обработки начало работы приложения
|
|
#
|
|
#
|
|
@@ -14,33 +15,29 @@ class start_factory:
|
|
__options: settings = None
|
|
__options: settings = None
|
|
__storage: storage = None
|
|
__storage: storage = None
|
|
__vtor = validator()
|
|
__vtor = validator()
|
|
-
|
|
|
|
- def __init__(self, _options: settings,
|
|
|
|
- _storage: storage = None) -> None:
|
|
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+ def __init__(self, _options: settings, _storage: storage = None) -> None:
|
|
self.__vtor.check_type(_options, settings)
|
|
self.__vtor.check_type(_options, settings)
|
|
self.__vtor.check_type(_storage, storage)
|
|
self.__vtor.check_type(_storage, storage)
|
|
self.__options = _options
|
|
self.__options = _options
|
|
self.__storage = _storage
|
|
self.__storage = _storage
|
|
|
|
|
|
- def __save(self, key:str, items: list):
|
|
|
|
|
|
+ def __save(self, key: str, items: list):
|
|
"""
|
|
"""
|
|
Сохранить данные
|
|
Сохранить данные
|
|
Args:
|
|
Args:
|
|
key (str): ключ доступ
|
|
key (str): ключ доступ
|
|
items (list): список
|
|
items (list): список
|
|
"""
|
|
"""
|
|
-
|
|
|
|
|
|
+
|
|
self.__vtor.check_type(key, str)
|
|
self.__vtor.check_type(key, str)
|
|
-
|
|
|
|
- if self.__storage == None:
|
|
|
|
|
|
+
|
|
|
|
+ if self.__storage is None:
|
|
self.__storage = storage()
|
|
self.__storage = storage()
|
|
-
|
|
|
|
- self.__storage.data[ key ] = items
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- @property
|
|
|
|
|
|
+
|
|
|
|
+ self.__storage.data[key] = items
|
|
|
|
+
|
|
|
|
+ @property
|
|
def storage(self):
|
|
def storage(self):
|
|
"""
|
|
"""
|
|
Ссылка на объект хранилище данных
|
|
Ссылка на объект хранилище данных
|
|
@@ -48,12 +45,11 @@ class start_factory:
|
|
_type_: _description_
|
|
_type_: _description_
|
|
"""
|
|
"""
|
|
return self.__storage
|
|
return self.__storage
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+
|
|
@staticmethod
|
|
@staticmethod
|
|
def create_recipes():
|
|
def create_recipes():
|
|
"""
|
|
"""
|
|
- Фабричный метод Создать список рецептов
|
|
|
|
|
|
+ Фабричный метод Создать список рецептов
|
|
"""
|
|
"""
|
|
|
|
|
|
result = []
|
|
result = []
|
|
@@ -62,11 +58,24 @@ class start_factory:
|
|
group = nomenclature_group_model("group")
|
|
group = nomenclature_group_model("group")
|
|
|
|
|
|
ingredients = [
|
|
ingredients = [
|
|
- ingredient_model("Мука", nomenclature_model("Мука", "Мука пшеничная", g, group), 100, g),
|
|
|
|
- ingredient_model("Сахар", nomenclature_model("Сахар", "Сахарный песок", g, group), 80, g),
|
|
|
|
- ingredient_model("Масло", nomenclature_model("Масло", "Масло сливочное", g, group), 70, g),
|
|
|
|
- ingredient_model("Яйцо", nomenclature_model("Яйцо", "Яйцо куриное", pcs, group), 1, pcs),
|
|
|
|
- ingredient_model("Ванилин", nomenclature_model("Ванилин", "Ванилин продуктовый", g, group), 5, g)
|
|
|
|
|
|
+ ingredient_model(
|
|
|
|
+ "Мука", nomenclature_model("Мука", "Мука пшеничная", g, group), 100, g
|
|
|
|
+ ),
|
|
|
|
+ ingredient_model(
|
|
|
|
+ "Сахар", nomenclature_model("Сахар", "Сахарный песок", g, group), 80, g
|
|
|
|
+ ),
|
|
|
|
+ ingredient_model(
|
|
|
|
+ "Масло", nomenclature_model("Масло", "Масло сливочное", g, group), 70, g
|
|
|
|
+ ),
|
|
|
|
+ ingredient_model(
|
|
|
|
+ "Яйцо", nomenclature_model("Яйцо", "Яйцо куриное", pcs, group), 1, pcs
|
|
|
|
+ ),
|
|
|
|
+ ingredient_model(
|
|
|
|
+ "Ванилин",
|
|
|
|
+ nomenclature_model("Ванилин", "Ванилин продуктовый", g, group),
|
|
|
|
+ 5,
|
|
|
|
+ g,
|
|
|
|
+ ),
|
|
]
|
|
]
|
|
steps = [
|
|
steps = [
|
|
"Как испечь вафли хрустящие в вафельнице? Подготовьте необходимые продукты. Из данного количества у меня получилось 8 штук диаметром около 10 см.",
|
|
"Как испечь вафли хрустящие в вафельнице? Подготовьте необходимые продукты. Из данного количества у меня получилось 8 штук диаметром около 10 см.",
|
|
@@ -76,14 +85,15 @@ class start_factory:
|
|
"Всыпьте муку, добавьте ванилин.",
|
|
"Всыпьте муку, добавьте ванилин.",
|
|
"Перемешайте массу венчиком до состояния гладкого однородного теста.",
|
|
"Перемешайте массу венчиком до состояния гладкого однородного теста.",
|
|
"Разогрейте вафельницу по инструкции к ней. У меня очень старая, еще советских времен электровафельница. Она может и не очень красивая, но печет замечательно! Я не смазываю вафельницу маслом, в тесте достаточно жира, да и к ней уже давно ничего не прилипает. Но вы смотрите по своей модели. Выкладывайте тесто по столовой ложке. Можно класть немного меньше теста, тогда вафли будут меньше и их получится больше.",
|
|
"Разогрейте вафельницу по инструкции к ней. У меня очень старая, еще советских времен электровафельница. Она может и не очень красивая, но печет замечательно! Я не смазываю вафельницу маслом, в тесте достаточно жира, да и к ней уже давно ничего не прилипает. Но вы смотрите по своей модели. Выкладывайте тесто по столовой ложке. Можно класть немного меньше теста, тогда вафли будут меньше и их получится больше.",
|
|
- "Пеките вафли несколько минут до золотистого цвета. Осторожно откройте вафельницу, она очень горячая! Снимите вафлю лопаткой. Горячая она очень мягкая, как блинчик. Но по мере остывания становится твердой и хрустящей. Такие вафли можно свернуть трубочкой. Но делать это надо сразу же после выпекания, пока она мягкая и горячая, потом у вас ничего не получится, вафля поломается. Приятного аппетита!"
|
|
|
|
|
|
+ "Пеките вафли несколько минут до золотистого цвета. Осторожно откройте вафельницу, она очень горячая! Снимите вафлю лопаткой. Горячая она очень мягкая, как блинчик. Но по мере остывания становится твердой и хрустящей. Такие вафли можно свернуть трубочкой. Но делать это надо сразу же после выпекания, пока она мягкая и горячая, потом у вас ничего не получится, вафля поломается. Приятного аппетита!",
|
|
]
|
|
]
|
|
|
|
|
|
- result.append(recipe_model.create("Вафли хрустящие в вафельнице", ingredients, steps))
|
|
|
|
|
|
+ result.append(
|
|
|
|
+ recipe_model.create("Вафли хрустящие в вафельнице", ingredients, steps)
|
|
|
|
+ )
|
|
|
|
|
|
return result
|
|
return result
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+
|
|
def create(self):
|
|
def create(self):
|
|
"""
|
|
"""
|
|
В зависимости от настроек, сформировать начальную номенклатуру
|
|
В зависимости от настроек, сформировать начальную номенклатуру
|
|
@@ -91,11 +101,11 @@ class start_factory:
|
|
Returns:
|
|
Returns:
|
|
_type_: _description_
|
|
_type_: _description_
|
|
"""
|
|
"""
|
|
-
|
|
|
|
|
|
+
|
|
result = []
|
|
result = []
|
|
- if self.__options.is_first_run == True:
|
|
|
|
|
|
+ if self.__options.is_first_run:
|
|
self.__options.is_first_run = False
|
|
self.__options.is_first_run = False
|
|
-
|
|
|
|
|
|
+
|
|
# Формируем и зпоминаем номеклатуру
|
|
# Формируем и зпоминаем номеклатуру
|
|
res = self.create_recipes()
|
|
res = self.create_recipes()
|
|
ingredients = set()
|
|
ingredients = set()
|
|
@@ -109,7 +119,7 @@ class start_factory:
|
|
result = nomenclatures
|
|
result = nomenclatures
|
|
munits = set([x.measurement_unit for x in nomenclatures])
|
|
munits = set([x.measurement_unit for x in nomenclatures])
|
|
nomgroups = set([x.nomenclature_group for x in nomenclatures])
|
|
nomgroups = set([x.nomenclature_group for x in nomenclatures])
|
|
- self.__save(storage.nomenclature_key(), nomenclatures )
|
|
|
|
|
|
+ self.__save(storage.nomenclature_key(), nomenclatures)
|
|
self.__save(storage.measurement_unit_key(), munits)
|
|
self.__save(storage.measurement_unit_key(), munits)
|
|
self.__save(storage.nomenclature_group_key(), nomgroups)
|
|
self.__save(storage.nomenclature_group_key(), nomgroups)
|
|
self.__save(storage.ingredient_key(), ingredients)
|
|
self.__save(storage.ingredient_key(), ingredients)
|