def get_source_factor_value(raw_data, result, source_factor): if is_sub_field(source_factor): factor_list = build_factor_list(source_factor) source_value_list = get_factor_value(0, factor_list, raw_data, result) else: source_value_list = get_value(source_factor, raw_data) return source_value_list
def get_source_factor_value(raw_data, source_factor): if is_sub_field(source_factor): factor_list = build_factor_list(source_factor) source_value_list = get_factor_value(0, factor_list, raw_data, []) if len(source_value_list) == 1: return source_value_list[0] else: return source_value_list else: source_value_list = get_value(source_factor, raw_data) return source_value_list
def get_factor_value(index, factor_list, raw_data, result): factor = factor_list[index] data = get_value(factor, raw_data) if type(data) is list: for raw in data: get_factor_value(index + 1, factor_list, raw, result) elif type(data) is dict: get_factor_value(index + 1, factor_list, data, result) else: result.append(data) return result
def get_condition_factor_value(raw_data, where_conditions, joint_type): if joint_type is None: return {where_conditions[pipeline_constants.NAME].name: where_conditions[pipeline_constants.VALUE]} else: factor_value = {} for condition in where_conditions: source_factor = condition[pipeline_constants.NAME] value = get_value(source_factor, raw_data) factor_value[source_factor.name] = value return factor_value
def get_factor_value(index, factor_list, raw_data, result): # results=[] factor = factor_list[index] data = get_value(factor, raw_data) if type(data) is list: for raw in data: get_factor_value(index + 1, factor_list, raw, result) elif type(data) is dict: get_factor_value(index + 1, factor_list, data, result) else: if data is None and factor.defaultValue is not None: result.append(convert_factor_type(factor.defaultValue, factor.type)) else: result.append(data) return result