def dashlet_http_variables(dashlet: Dashlet) -> HTTPVariables: vs_general_settings = dashlet_vs_general_settings(dashlet, dashlet.single_infos()) dashlet_settings = vs_general_settings.value_to_json(dashlet._dashlet_spec) dashlet_params = dashlet.vs_parameters() assert isinstance(dashlet_params, ValueSpec) # help mypy dashlet_properties = dashlet_params.value_to_json(dashlet._dashlet_spec) args: HTTPVariables = [] args.append(("settings", json.dumps(dashlet_settings))) args.append(("context", json.dumps(dashlet._dashlet_spec["context"]))) args.append(("properties", json.dumps(dashlet_properties))) return args
def generate_response_from_request(cls): settings = json.loads(html.request.get_str_input_mandatory("settings")) try: dashlet_type = cast(Dashlet, dashlet_registry[settings.get("type")]) except KeyError: raise MKUserError("type", _('The requested dashlet type does not exist.')) settings = dashlet_vs_general_settings( dashlet_type, dashlet_type.single_infos()).value_from_json(settings) properties = cls.vs_parameters().value_from_json( json.loads(html.request.get_str_input_mandatory("properties"))) context = json.loads(html.request.get_str_input_mandatory("context", "{}")) response_data = cls.generate_response_data(properties, context, settings) return create_figures_response(response_data)
def dashlet_http_variables(dashlet: Dashlet) -> HTTPVariables: vs_general_settings = dashlet_vs_general_settings(dashlet, dashlet.single_infos()) dashlet_settings = vs_general_settings.value_to_json(dashlet._dashlet_spec) dashlet_params = dashlet.vs_parameters() assert isinstance(dashlet_params, ValueSpec) # help mypy dashlet_properties = dashlet_params.value_to_json(dashlet._dashlet_spec) context = visuals.get_merged_context( visuals.get_context_from_uri_vars(["host", "service"], dashlet.single_infos()), dashlet._dashlet_spec["context"]) args: HTTPVariables = [] args.append(("settings", json.dumps(dashlet_settings))) args.append(("context", json.dumps(context))) args.append(("properties", json.dumps(dashlet_properties))) return args