Beispiel #1
0
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()
Beispiel #2
0
 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