def calculate_composite_obj(): try: process = request.args.get('process', type=str) keyphrase = request.args.get('keyphrase', type=str) session = request.args.get('session', type=str) attribute_key = request.args.get('attribute_key', type=str, default=xes.DEFAULT_NAME_KEY) performance_required = request.args.get('performance_required', type=str, default="False") if performance_required == "True": performance_required = True else: performance_required = False use_transition = request.args.get(PARAMETER_USE_TRANSITION, type=str, default=str(DEFAULT_USE_TRANSITION)) no_samples = request.args.get(PARAMETER_NO_SAMPLES, type=int, default=DEFAULT_MAX_NO_SAMPLES) if use_transition == "True": use_transition = True else: use_transition = False if keyphrase == configuration.KEYPHRASE: filters = get_filters_per_session(process, session) parameters = {} parameters["filters"] = filters parameters[PARAMETER_USE_TRANSITION] = use_transition parameters[PARAMETER_NO_SAMPLES] = no_samples parameters[pm4py_constants. PARAMETER_CONSTANT_ATTRIBUTE_KEY] = attribute_key parameters["performance_required"] = performance_required returned_dict = parquet_handler.calculate_process_schema_composite_object( SlaveVariableContainer.conf, process, SlaveVariableContainer.managed_logs[process], parameters=parameters) return jsonify({"obj": returned_dict}) return jsonify({"obj": {}}) except: return traceback.format_exc()
def calculate_composite_object(self, parameters=None): if parameters is None: parameters = {} list_logs = self.get_list_logs() for key in self.init_parameters: if key not in parameters: parameters[key] = self.init_parameters[key] parameters["filters"] = self.filters obj = parquet_handler.calculate_process_schema_composite_object(".", self.distr_log_path, list_logs, parameters=parameters) new_frequency = {} for el in obj["frequency_dfg"]: new_frequency[(el.split("@@")[0], el.split("@@")[1])] = obj["frequency_dfg"][el] obj["frequency_dfg"] = new_frequency if "performance_dfg" in obj: new_performance = {} for el in obj["performance_dfg"]: new_performance[(el.split("@@")[0], el.split("@@")[1])] = obj["performance_dfg"][el] obj["performance_dfg"] = new_performance return obj