(self, fields: Any)
| 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: |
no test coverage detected