Coverage for backend/django/core/auxiliary/views/GenerateIDAESPython.py: 60%
20 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-05-13 02:47 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2026-05-13 02:47 +0000
1from drf_spectacular.utils import extend_schema
2from rest_framework.response import Response
3from rest_framework.decorators import api_view
4from rest_framework import serializers
5from idaes_factory.endpoints import generate_IDAES_python_request
6from core.validation import api_view_validate
8class GenerateIDAESPythonRequestSerializer(serializers.Serializer):
9 flowsheet_id = serializers.IntegerField(required=True)
12@api_view_validate
13@extend_schema(request=GenerateIDAESPythonRequestSerializer, responses=None)
14@api_view(['POST'])
15def generate_idaes_python(request) -> Response:
16 """Generates IDAES Python code for the given flowsheet"""
18 # Validate the request data
19 try:
20 serializer = GenerateIDAESPythonRequestSerializer(data=request.data)
21 serializer.is_valid(raise_exception=True)
22 validated_data = serializer.validated_data
23 # Use validated data to retrieve objects
24 flowsheet_id = validated_data.get('flowsheet_id')
25 except:
26 return Response("Invalid request data", status=400)
28 # The IDAES service now returns the flowsheet JSON; always request JSON.
29 return generate_IDAES_python_request(flowsheet_id)