def call_menu_select_property(mapping, resource_object, full_request=None, parent=None, is_subresource=False): """ Method to call the menu to add resource @param mapping: Mapping of the resource @type mapping: dict @param resource_object: the resource_object @type resource_object: object @param full_request: request (optionally loaded from file) @type request: dict """ request = create_request(mapping.values()) if full_request is None: full_request = request # load from file only if it's top resource. Otherwise it would affect sub-resources. if parent is None and full_request is not None: request = full_request while True: click.clear() first_line_new(resource_object.name) property_chosen = menu_select_property(request, mapping, is_subresource) if handle_actions(request, property_chosen, mapping, resource_object, full_request=full_request, parent=parent): break if isinstance(property_chosen, int) and 0 < property_chosen < len(mapping.keys()) + 1: property_model_catalog_selected = list(mapping.keys())[property_chosen - 1] call_ask_value(request, property_model_catalog_selected, resource_name=resource_object.name, resource_object=resource_object, mapping=mapping) return request
def create(): first_line_new(RESOURCE) request = {}