From 76b1be47c04067d621edeff599031c2186622491 Mon Sep 17 00:00:00 2001 From: OM HASE <138221910+OM-HASE@users.noreply.github.com> Date: Wed, 4 Dec 2024 22:44:45 +0530 Subject: [PATCH 1/2] Update exceptions.mustache --- .../main/resources/python/exceptions.mustache | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/python/exceptions.mustache b/modules/openapi-generator/src/main/resources/python/exceptions.mustache index a690ceb926cb..fb2ebae0eefa 100644 --- a/modules/openapi-generator/src/main/resources/python/exceptions.mustache +++ b/modules/openapi-generator/src/main/resources/python/exceptions.mustache @@ -140,6 +140,13 @@ class ApiException(OpenApiException): if http_resp.status == 404: raise NotFoundException(http_resp=http_resp, body=body, data=data) + # Added new conditions for 409 and 422 + if http_resp.status == 409: + raise ConflictException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 422: + raise UnprocessableEntityException(http_resp=http_resp, body=body, data=data) + if 500 <= http_resp.status <= 599: raise ServiceException(http_resp=http_resp, body=body, data=data) raise ApiException(http_resp=http_resp, body=body, data=data) @@ -178,6 +185,16 @@ class ServiceException(ApiException): pass +class ConflictException(ApiException): + """Exception for HTTP 409 Conflict.""" + pass + + +class UnprocessableEntityException(ApiException): + """Exception for HTTP 422 Unprocessable Entity.""" + pass + + def render_path(path_to_item): """Returns a string representation of a path""" result = "" From 65f1084036a3132d61b36ec4e6f9c33aabe241d0 Mon Sep 17 00:00:00 2001 From: OM HASE <138221910+OM-HASE@users.noreply.github.com> Date: Thu, 5 Dec 2024 15:44:30 +0530 Subject: [PATCH 2/2] Fix(Python): Add custom exceptions for HTTP status codes 409 (Conflict) and 422 (Unprocessable Entity) #20244 --- .../petstore/python/petstore_api/exceptions.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/samples/openapi3/client/petstore/python/petstore_api/exceptions.py b/samples/openapi3/client/petstore/python/petstore_api/exceptions.py index 0cb484becbdb..81d2d590712f 100755 --- a/samples/openapi3/client/petstore/python/petstore_api/exceptions.py +++ b/samples/openapi3/client/petstore/python/petstore_api/exceptions.py @@ -150,6 +150,14 @@ def from_response( if http_resp.status == 404: raise NotFoundException(http_resp=http_resp, body=body, data=data) + # Added new exception classes for 409 and 422 + + if http_resp.status == 409: + raise ConflictException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 422: + raise UnprocessableEntityException(http_resp=http_resp, body=body, data=data) + if 500 <= http_resp.status <= 599: raise ServiceException(http_resp=http_resp, body=body, data=data) raise ApiException(http_resp=http_resp, body=body, data=data) @@ -183,6 +191,14 @@ class UnauthorizedException(ApiException): class ForbiddenException(ApiException): pass +class ConflictException(ApiException): + """Exception raised for HTTP 409 Conflict errors.""" + pass + + +class UnprocessableEntityException(ApiException): + """Exception raised for HTTP 422 Unprocessable Entity errors.""" + pass class ServiceException(ApiException): pass