def unformat_metric()

in metricpublisher/publisher_handler.py [0:0]


def unformat_metric(metric):
    """Unformat a single metric.

    Parameters:
        metric (dict): The metric to unformat

    Returns:
        metric (dict): The new metric in
        the format needed for the log_event
        API.

    """
    metric_keys = metric.keys()
    metric["metric_name"] = metric.pop("MetricName")
    if "Dimensions" in metric_keys:
        for dimension in metric["Dimensions"]:
            dimension["name"] = dimension.pop("Name")
            dimension["value"] = dimension.pop("Value")
        metric["dimensions"] = metric.pop("Dimensions")
    if "Timestamp" in metric_keys:
        metric["timestamp"] = metric.pop("Timestamp")
    if "Value" in metric_keys:
        metric["value"] = metric.pop("Value")
    else:
        metric["StatisticValues"]["sample_count"] =\
            metric["StatisticValues"].pop("SampleCount")
        metric["StatisticValues"]["sum"] =\
            metric["StatisticValues"].pop("Sum")
        metric["StatisticValues"]["minimum"] =\
            metric["StatisticValues"].pop("Minimum")
        metric["StatisticValues"]["maximum"] =\
            metric["StatisticValues"].pop("Maximum")
        metric["statistic_values"] = metric.pop("StatisticValues")
    if "Unit" in metric_keys:
        metric["unit"] = metric.pop("Unit")
    if "StorageResolution" in metric_keys:
        metric["storage_resolution"] = metric.pop("StorageResolution")
    return metric