MCPcopy Create free account
hub / github.com/Dispatcharr/Dispatcharr / _normalize_fields

Method _normalize_fields

apps/plugins/loader.py:644–661  ·  view source on GitHub ↗
(self, fields: Any)

Source from the content-addressed store, hash-verified

642 return safe
643
644 def _normalize_fields(self, fields: Any) -> List[Dict[str, Any]]:
645 try:
646 from .serializers import PluginFieldSerializer
647 except Exception:
648 return fields if isinstance(fields, list) else []
649 if not isinstance(fields, list):
650 return []
651 serializer = PluginFieldSerializer(data=fields, many=True)
652 if serializer.is_valid():
653 return serializer.validated_data
654 normalized: List[Dict[str, Any]] = []
655 for item in fields:
656 item_ser = PluginFieldSerializer(data=item)
657 if item_ser.is_valid():
658 normalized.append(item_ser.validated_data)
659 else:
660 logger.warning("Invalid plugin field entry ignored: %s", item_ser.errors)
661 return normalized
662
663 def _normalize_actions(self, actions: Any) -> List[Dict[str, Any]]:
664 try:

Callers 2

_load_pluginMethod · 0.95

Calls 1

Tested by

no test coverage detected