From d6e19f8f5505a7b6b0bcd65e8d4c06fbab4cf35a Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 24 Apr 2023 16:07:29 +0800 Subject: [PATCH] fix minus sign in enum naming in python-nextgen (#15291) --- .../codegen/languages/PythonNextgenClientCodegen.java | 2 +- .../python/petstore-with-fake-endpoints-models-for-testing.yaml | 1 + .../petstore_api/models/outer_enum_integer_default_value.py | 1 + .../petstore_api/models/outer_enum_integer_default_value.py | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonNextgenClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonNextgenClientCodegen.java index 3f981f5b08b..60179de3254 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonNextgenClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonNextgenClientCodegen.java @@ -1518,7 +1518,7 @@ public class PythonNextgenClientCodegen extends AbstractPythonCodegen implements public String toEnumVariableName(String name, String datatype) { if ("int".equals(datatype)) { - return "NUMBER_" + name; + return "NUMBER_" + name.replace("-", "MINUS_"); } // remove quote e.g. 'abc' => abc diff --git a/modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing.yaml b/modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing.yaml index 060d4f342a6..9cd93e9003f 100644 --- a/modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing.yaml @@ -1864,6 +1864,7 @@ components: OuterEnumIntegerDefaultValue: type: integer enum: + - -1 - 0 - 1 - 2 diff --git a/samples/openapi3/client/petstore/python-nextgen-aiohttp/petstore_api/models/outer_enum_integer_default_value.py b/samples/openapi3/client/petstore/python-nextgen-aiohttp/petstore_api/models/outer_enum_integer_default_value.py index 09a945f73c3..e09255646ca 100644 --- a/samples/openapi3/client/petstore/python-nextgen-aiohttp/petstore_api/models/outer_enum_integer_default_value.py +++ b/samples/openapi3/client/petstore/python-nextgen-aiohttp/petstore_api/models/outer_enum_integer_default_value.py @@ -29,6 +29,7 @@ class OuterEnumIntegerDefaultValue(int, Enum): """ allowed enum values """ + NUMBER_MINUS_1 = -1 NUMBER_0 = 0 NUMBER_1 = 1 NUMBER_2 = 2 diff --git a/samples/openapi3/client/petstore/python-nextgen/petstore_api/models/outer_enum_integer_default_value.py b/samples/openapi3/client/petstore/python-nextgen/petstore_api/models/outer_enum_integer_default_value.py index 09a945f73c3..e09255646ca 100644 --- a/samples/openapi3/client/petstore/python-nextgen/petstore_api/models/outer_enum_integer_default_value.py +++ b/samples/openapi3/client/petstore/python-nextgen/petstore_api/models/outer_enum_integer_default_value.py @@ -29,6 +29,7 @@ class OuterEnumIntegerDefaultValue(int, Enum): """ allowed enum values """ + NUMBER_MINUS_1 = -1 NUMBER_0 = 0 NUMBER_1 = 1 NUMBER_2 = 2