29 lines
933 B
Python
29 lines
933 B
Python
from typing import List, Tuple
|
|
|
|
from .iobase import pipe_interaction
|
|
from .multi_selections import checkbox_answer
|
|
from .single_select import radio_answer
|
|
from .text_edit import editor_answer
|
|
|
|
|
|
def ui_group(ui_message: List[Tuple]) -> Tuple:
|
|
"""
|
|
ui_message: List[Tuple]
|
|
[
|
|
("editor", "editor ui message", "editor_id"),
|
|
("checkbox", "checkbox ui message", ["id1", "id2"]),
|
|
("radio", "radio ui message", ["id1", "id2"]),
|
|
]
|
|
"""
|
|
ui_message = "\n".join([m[1] for m in ui_message])
|
|
with open('tmp.txt', 'w+', encoding="utf8") as file:
|
|
file.write(ui_message)
|
|
response = pipe_interaction(ui_message)
|
|
return tuple([
|
|
editor_answer(response, m[2]) if m[0] == "editor" else
|
|
checkbox_answer(response, m[2]) if m[0] == "checkbox" else
|
|
radio_answer(response, m[2]) if m[0] == "radio" else
|
|
None
|
|
for m in ui_message
|
|
])
|