Ejemplo n.º 1
0
def get_open_choice(element_reference, data_provider, back_choice=False, index=None):
    element = base_manager.get_element(element_reference, data_provider)
    if back_choice:
        choice_text = get_back_choice_text(element)
    else:
        manager = get_manager(element)
        method = get_method(manager, element_const.CHOICE_TEXT)
        choice_text = method(element, index)

    action_open = action_manager.get_open_action(element_reference)
    open_choice = choice_manager.create_choice(choice_text,
                                               action_open
                                               )
    return open_choice
Ejemplo n.º 2
0
def get_branches_choices(paragraph, data_provider=None):
    branches_list = base_manager.get_children(paragraph)
    choices = base_manager.create_empty_list()
    if branches_list is not None:
        branches = list_manager.get_elements(branches_list)
        for branch_reference in branches:
            branch = base_manager.get_element(branch_reference, data_provider)
            text = base_manager.get_text(branch)
            target = branch_manager.get_target(branch)
            action_open = action_manager.get_open_action(target)
            branch_choice = choice_manager.create_choice(text, action_open)
            choices = base_manager.add_element(choices, branch_choice)

    return choices
Ejemplo n.º 3
0
def get_menu(element_reference, data_provider):
    element = base_manager.get_element(element_reference, data_provider)
    choices = _get_choices(element)
    choice_list = base_manager.create_empty_list()
    manager = get_manager(element)
    for choice_method in choices:
        method = get_method(manager, choice_method)
        choice = method(element, data_provider)
        choice_list = add_choices(choice_list, choice)

    text_method = get_method(manager, element_const.MENU_TEXT)
    text = text_method(element)
    constants = get_constants(element)
    question = base_manager.get_question(element, constants)
    menu = menu_manager.create_menu(text, choice_list, question)
    return menu