Esempio n. 1
0
def component_parameters():
    request_data = request.json
    check_request_parameters(request_data)
    job_id = request_data.get('job_id', '')
    job_dsl_parser = job_utils.get_job_dsl_parser_by_job_id(job_id=job_id)
    if job_dsl_parser:
        component = job_dsl_parser.get_component_info(
            request_data['component_name'])
        parameters = component.get_role_parameters()
        for role, partys_parameters in parameters.items():
            for party_parameters in partys_parameters:
                if party_parameters.get('local', {}).get(
                        'role',
                        '') == request_data['role'] and party_parameters.get(
                            'local', {}).get('party_id', '') == int(
                                request_data['party_id']):
                    output_parameters = {}
                    output_parameters['module'] = party_parameters.get(
                        'module', '')
                    for p_k, p_v in party_parameters.items():
                        if p_k.endswith('Param'):
                            output_parameters[p_k] = p_v
                    return get_json_result(retcode=0,
                                           retmsg='success',
                                           data=output_parameters)
        else:
            return get_json_result(
                retcode=0, retmsg='can not found this component parameters')
    else:
        return get_json_result(retcode=101, retmsg='can not found this job')
Esempio n. 2
0
def get_component_output_data_table(task_data):
    check_request_parameters(task_data)
    tracker = Tracking(job_id=task_data['job_id'], component_name=task_data['component_name'],
                       role=task_data['role'], party_id=task_data['party_id'])
    job_dsl_parser = job_utils.get_job_dsl_parser_by_job_id(job_id=task_data['job_id'])
    if not job_dsl_parser:
        raise Exception('can not get dag parser, please check if the parameters are correct')
    component = job_dsl_parser.get_component_info(task_data['component_name'])
    if not component:
        raise Exception('can not found component, please check if the parameters are correct')
    output_dsl = component.get_output()
    output_data_dsl = output_dsl.get('data', [])
    # The current version will only have one data output.
    output_data_table = tracker.get_output_data_table(output_data_dsl[0] if output_data_dsl else 'component')
    return output_data_table