def __unmap_map_attribute()

in modular_sdk/models/pynamodb_extension/base_model.py [0:0]


    def __unmap_map_attribute(item):
        try:
            attr_values = item.attribute_values
        except AttributeError:
            return item
        if not attr_values or (isinstance(item, MapAttribute) and type(item)
                               == MapAttribute):
            return attr_values
        processed_item = {}
        for attr_value_key in attr_values.keys():
            py_to_ddb = {py_key: db_key
                         for db_key, py_key in
                         item._dynamo_to_python_attrs.items()}
            match = py_to_ddb.get(attr_value_key)
            if match:
                processed_item[match] = attr_values[attr_value_key]
            else:
                processed_item[attr_value_key] = attr_values[attr_value_key]
        return processed_item