54 lines
2.6 KiB
Python
54 lines
2.6 KiB
Python
def add_new_event() -> dict:
|
|
"""
|
|
Создаёт новый ивент в систему
|
|
|
|
:return: Dict - json объект, в нём либо ошибка, либо созданный элемент
|
|
"""
|
|
name = input("Введите название ивента\n") # получаю name
|
|
description = input("Введите описание ивента\n") # получаю description
|
|
try:
|
|
well = input("Этот ивент хороший?\n") # получаю well
|
|
if well == "True": # временный костыль
|
|
well = True
|
|
else:
|
|
well = False
|
|
# TODO заменить костыль
|
|
except Exception as e:
|
|
return {"err": e}
|
|
variants = input("Введите варианты развития ивентов, разделённые */!/*\n").split("*/!/*") # получаю variants
|
|
consequence = input("Введите функции которые выполнятся при варианте ивента, "
|
|
"разделённые */!/*\n").split("*/!/*") # получаю consequence
|
|
probability_consequence = [int(i) for i in input("Введите вероятности вариантов"
|
|
" ивентов, разделённые */!/*\n"
|
|
"").split("*/!/*")] # получаю probability_consequence
|
|
if len(variants) == len(consequence) == len(probability_consequence): # если все длины сошлись
|
|
response = {
|
|
"name": name,
|
|
"description": description,
|
|
"variants": variants,
|
|
"consequence": consequence,
|
|
"probability_consequence": probability_consequence,
|
|
"probability": 50,
|
|
"well": well
|
|
} # собираю json объект для сохранения
|
|
from modules.DB import UseDB # импортирую базу
|
|
db = UseDB("events") # соединяюсь
|
|
db.insert_document(response) # записываю объект
|
|
return response # возвращаю его
|
|
else:
|
|
return {"err": "Длины variants, consequence и probability_consequence не равны"}
|
|
|
|
|
|
def main():
|
|
while True:
|
|
answer = input("Что сегодня сделаем?\n") # получаем вопрос
|
|
if answer == "добавить эвент":
|
|
print(add_new_event())
|
|
else:
|
|
print("Ничего не понятно")
|
|
quit(0)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|