INNER CODE UNIT · Python
_coerce_metadata_entries
pab1it0/prometheus-mcp-server · src/prometheus_mcp_server/server.py:522
def _coerce_metadata_entries(value: Any) -> List[Dict[str, Any]]:
"""Normalize metadata value into a list of metadata dictionaries."""
if isinstance(value, list):
return [entry for entry in value if isinstance(entry, dict)]
if isinstance(value, dict):
return [value]
return []
def _normalize_metadata_map(raw_data: Any) -> Dict[str, List[Dict[str, Any]]]:
"""Normalize diverse metadata response shapes into {metric_name: [entries]}."""
if isinstance(raw_data, dict):
if "metadata" in raw_data:
return _normalize_metadata_map(raw_data["metadata"])
if "data" in raw_data:
return _normalize_metadata_map(raw_data["data"])
normalized: Dict[str, List[Dict[str, Any]]] = {}