def make_indicator_mapper(period, indicator): mapper = Mapper() mapper.prop('type', indicator) value_key = indicator if indicator not in NON_PREFIXED_INDICATORS: value_key = '_'.join([indicator, period]) mapper.project_one('value', make_data_path(value_key)) return mapper
def make_threshold_mapper(period, threshold): mapper = Mapper() mapper.prop('type', threshold.get('type')) mapper.prop('dangerValue', threshold.get('danger_value')) value_key = '_'.join([threshold.get('prefix'), period]) mapper.project_one('value', make_data_path(value_key)) return mapper
def make_conversion_mapper(period, conversion): mapper = Mapper() mapper.prop('type', conversion.get('type')) value_key = '_'.join([conversion.get('prefix'), 'current', period]) mapper.project_one('value', make_data_path(value_key)) prev_value_key = '_'.join([conversion.get('prefix'), 'previous', period]) mapper.project_one('prevValue', make_data_path(prev_value_key)) if conversion.get('final', False): mapper.prop('final', True) for indicator in conversion.get('indicators', []): mapper.project_list('indicators', make_indicator_mapper(period, indicator)) return mapper