diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonCodegen.java index 8288294ffbde..339c115d90a1 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonCodegen.java @@ -301,6 +301,12 @@ public String toRegularExpression(String pattern) { return addRegularExpressionDelimiter(pattern); } + @Override + public boolean isRemoveEnumValuePrefix() { + // Python enum models do not currently support removing any common prefixes. + return false; + } + @Override public String toParamName(String name) { // obtain the name from parameterNameMapping directly if provided diff --git a/modules/openapi-generator/src/test/resources/3_0/python-flask/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/python-flask/petstore.yaml index 49a6c04654bb..76abf25c1ae7 100644 --- a/modules/openapi-generator/src/test/resources/3_0/python-flask/petstore.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/python-flask/petstore.yaml @@ -777,11 +777,21 @@ components: - ZWEI - DREI default: ZWEI + EnumWithCommonPrefix: + type: string + example: V_T_2 + enum: + - V_MORE_1 + - V_T_2 + - V_MULT_3 + default: V_T_2 TestModel: type: object required: - test_enum properties: + test_enum_common_prefix: + $ref: "#/components/schemas/EnumWithCommonPrefix" test_enum: $ref: "#/components/schemas/TestEnum" test_string: 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 bd071a0b132d..9a0b622b98a1 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 @@ -2854,11 +2854,21 @@ components: - ZWEI - DREI default: ZWEI + EnumWithCommonPrefix: + type: string + example: VAL_2 + enum: + - VAL_1 + - VAL_2 + - VAL_3 + default: VAL_2 TestModelWithEnumDefault: type: object required: - test_enum properties: + test_enum_common_prefix: + $ref: "#/components/schemas/EnumWithCommonPrefix" test_enum: $ref: "#/components/schemas/TestEnum" test_string: diff --git a/samples/openapi3/client/petstore/python-aiohttp/.openapi-generator/FILES b/samples/openapi3/client/petstore/python-aiohttp/.openapi-generator/FILES index 8558e1d2f58a..09d15e14854b 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/.openapi-generator/FILES +++ b/samples/openapi3/client/petstore/python-aiohttp/.openapi-generator/FILES @@ -42,6 +42,7 @@ docs/EnumClass.md docs/EnumString1.md docs/EnumString2.md docs/EnumTest.md +docs/EnumWithCommonPrefix.md docs/FakeApi.md docs/FakeClassnameTags123Api.md docs/Feeding.md @@ -169,6 +170,7 @@ petstore_api/models/enum_class.py petstore_api/models/enum_string1.py petstore_api/models/enum_string2.py petstore_api/models/enum_test.py +petstore_api/models/enum_with_common_prefix.py petstore_api/models/feeding.py petstore_api/models/file.py petstore_api/models/file_schema_test_class.py diff --git a/samples/openapi3/client/petstore/python-aiohttp/README.md b/samples/openapi3/client/petstore/python-aiohttp/README.md index 42d05ee4ac38..82aaa8de1bc0 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/README.md +++ b/samples/openapi3/client/petstore/python-aiohttp/README.md @@ -188,6 +188,7 @@ Class | Method | HTTP request | Description - [EnumString1](docs/EnumString1.md) - [EnumString2](docs/EnumString2.md) - [EnumTest](docs/EnumTest.md) + - [EnumWithCommonPrefix](docs/EnumWithCommonPrefix.md) - [Feeding](docs/Feeding.md) - [File](docs/File.md) - [FileSchemaTestClass](docs/FileSchemaTestClass.md) diff --git a/samples/openapi3/client/petstore/python-aiohttp/docs/EnumWithCommonPrefix.md b/samples/openapi3/client/petstore/python-aiohttp/docs/EnumWithCommonPrefix.md new file mode 100644 index 000000000000..51dff9c6076d --- /dev/null +++ b/samples/openapi3/client/petstore/python-aiohttp/docs/EnumWithCommonPrefix.md @@ -0,0 +1,14 @@ +# EnumWithCommonPrefix + + +## Enum + +* `VAL_1` (value: `'VAL_1'`) + +* `VAL_2` (value: `'VAL_2'`) + +* `VAL_3` (value: `'VAL_3'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/openapi3/client/petstore/python-aiohttp/docs/TestModelWithEnumDefault.md b/samples/openapi3/client/petstore/python-aiohttp/docs/TestModelWithEnumDefault.md index 7d46e86deba4..42414e901a8d 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/docs/TestModelWithEnumDefault.md +++ b/samples/openapi3/client/petstore/python-aiohttp/docs/TestModelWithEnumDefault.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**test_enum_common_prefix** | [**EnumWithCommonPrefix**](EnumWithCommonPrefix.md) | | [optional] [default to EnumWithCommonPrefix.VAL_2] **test_enum** | [**TestEnum**](TestEnum.md) | | **test_string** | **str** | | [optional] **test_enum_with_default** | [**TestEnumWithDefault**](TestEnumWithDefault.md) | | [optional] [default to TestEnumWithDefault.ZWEI] diff --git a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/__init__.py b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/__init__.py index 27cc58ac25b6..121cc3d92df5 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/__init__.py +++ b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/__init__.py @@ -76,6 +76,7 @@ from petstore_api.models.enum_string1 import EnumString1 from petstore_api.models.enum_string2 import EnumString2 from petstore_api.models.enum_test import EnumTest +from petstore_api.models.enum_with_common_prefix import EnumWithCommonPrefix from petstore_api.models.feeding import Feeding from petstore_api.models.file import File from petstore_api.models.file_schema_test_class import FileSchemaTestClass diff --git a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/__init__.py b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/__init__.py index 12531e2d9063..7d808c323a1c 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/__init__.py +++ b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/__init__.py @@ -51,6 +51,7 @@ from petstore_api.models.enum_string1 import EnumString1 from petstore_api.models.enum_string2 import EnumString2 from petstore_api.models.enum_test import EnumTest +from petstore_api.models.enum_with_common_prefix import EnumWithCommonPrefix from petstore_api.models.feeding import Feeding from petstore_api.models.file import File from petstore_api.models.file_schema_test_class import FileSchemaTestClass diff --git a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/enum_with_common_prefix.py b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/enum_with_common_prefix.py new file mode 100644 index 000000000000..647d132314dc --- /dev/null +++ b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/enum_with_common_prefix.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class EnumWithCommonPrefix(str, Enum): + """ + EnumWithCommonPrefix + """ + + """ + allowed enum values + """ + VAL_1 = 'VAL_1' + VAL_2 = 'VAL_2' + VAL_3 = 'VAL_3' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of EnumWithCommonPrefix from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/test_model_with_enum_default.py b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/test_model_with_enum_default.py index 218fa8f16d22..58b68b24539b 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/test_model_with_enum_default.py +++ b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/test_model_with_enum_default.py @@ -19,6 +19,7 @@ from pydantic import BaseModel, ConfigDict, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional +from petstore_api.models.enum_with_common_prefix import EnumWithCommonPrefix from petstore_api.models.test_enum import TestEnum from petstore_api.models.test_enum_with_default import TestEnumWithDefault from typing import Optional, Set @@ -28,12 +29,13 @@ class TestModelWithEnumDefault(BaseModel): """ TestModelWithEnumDefault """ # noqa: E501 + test_enum_common_prefix: Optional[EnumWithCommonPrefix] = EnumWithCommonPrefix.VAL_2 test_enum: TestEnum test_string: Optional[StrictStr] = None test_enum_with_default: Optional[TestEnumWithDefault] = TestEnumWithDefault.ZWEI test_string_with_default: Optional[StrictStr] = 'ahoy matey' test_inline_defined_enum_with_default: Optional[StrictStr] = 'B' - __properties: ClassVar[List[str]] = ["test_enum", "test_string", "test_enum_with_default", "test_string_with_default", "test_inline_defined_enum_with_default"] + __properties: ClassVar[List[str]] = ["test_enum_common_prefix", "test_enum", "test_string", "test_enum_with_default", "test_string_with_default", "test_inline_defined_enum_with_default"] @field_validator('test_inline_defined_enum_with_default') def test_inline_defined_enum_with_default_validate_enum(cls, value): @@ -96,6 +98,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "test_enum_common_prefix": obj.get("test_enum_common_prefix") if obj.get("test_enum_common_prefix") is not None else EnumWithCommonPrefix.VAL_2, "test_enum": obj.get("test_enum"), "test_string": obj.get("test_string"), "test_enum_with_default": obj.get("test_enum_with_default") if obj.get("test_enum_with_default") is not None else TestEnumWithDefault.ZWEI, diff --git a/samples/openapi3/client/petstore/python-aiohttp/test/test_enum_with_common_prefix.py b/samples/openapi3/client/petstore/python-aiohttp/test/test_enum_with_common_prefix.py new file mode 100644 index 000000000000..b679118edc70 --- /dev/null +++ b/samples/openapi3/client/petstore/python-aiohttp/test/test_enum_with_common_prefix.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from petstore_api.models.enum_with_common_prefix import EnumWithCommonPrefix + +class TestEnumWithCommonPrefix(unittest.TestCase): + """EnumWithCommonPrefix unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testEnumWithCommonPrefix(self): + """Test EnumWithCommonPrefix""" + # inst = EnumWithCommonPrefix() + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/.openapi-generator/FILES b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/.openapi-generator/FILES index cafa99c6a715..a1ceeb2e826a 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/.openapi-generator/FILES +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/.openapi-generator/FILES @@ -43,6 +43,7 @@ docs/EnumClass.md docs/EnumString1.md docs/EnumString2.md docs/EnumTest.md +docs/EnumWithCommonPrefix.md docs/FakeApi.md docs/FakeClassnameTags123Api.md docs/Feeding.md @@ -170,6 +171,7 @@ petstore_api/models/enum_class.py petstore_api/models/enum_string1.py petstore_api/models/enum_string2.py petstore_api/models/enum_test.py +petstore_api/models/enum_with_common_prefix.py petstore_api/models/feeding.py petstore_api/models/field.py petstore_api/models/file.py diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/README.md b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/README.md index 69cc915cdfbf..c7e1a3abd1b8 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/README.md +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/README.md @@ -190,6 +190,7 @@ Class | Method | HTTP request | Description - [EnumString1](docs/EnumString1.md) - [EnumString2](docs/EnumString2.md) - [EnumTest](docs/EnumTest.md) + - [EnumWithCommonPrefix](docs/EnumWithCommonPrefix.md) - [Feeding](docs/Feeding.md) - [Field](docs/Field.md) - [File](docs/File.md) diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/EnumWithCommonPrefix.md b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/EnumWithCommonPrefix.md new file mode 100644 index 000000000000..51dff9c6076d --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/EnumWithCommonPrefix.md @@ -0,0 +1,14 @@ +# EnumWithCommonPrefix + + +## Enum + +* `VAL_1` (value: `'VAL_1'`) + +* `VAL_2` (value: `'VAL_2'`) + +* `VAL_3` (value: `'VAL_3'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/TestModelWithEnumDefault.md b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/TestModelWithEnumDefault.md index 7adae701beb2..c0cf0af34d2e 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/TestModelWithEnumDefault.md +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/TestModelWithEnumDefault.md @@ -4,6 +4,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**test_enum_common_prefix** | [**EnumWithCommonPrefix**](EnumWithCommonPrefix.md) | | [optional] **test_enum** | [**TestEnum**](TestEnum.md) | | **test_string** | **str** | | [optional] **test_enum_with_default** | [**TestEnumWithDefault**](TestEnumWithDefault.md) | | [optional] diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/__init__.py b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/__init__.py index f178ffe52f18..af783b69f57e 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/__init__.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/__init__.py @@ -77,6 +77,7 @@ from petstore_api.models.enum_string1 import EnumString1 from petstore_api.models.enum_string2 import EnumString2 from petstore_api.models.enum_test import EnumTest +from petstore_api.models.enum_with_common_prefix import EnumWithCommonPrefix from petstore_api.models.feeding import Feeding from petstore_api.models.field import Field from petstore_api.models.file import File diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/__init__.py b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/__init__.py index b6a5d674a51c..49281bf1e589 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/__init__.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/__init__.py @@ -52,6 +52,7 @@ from petstore_api.models.enum_string1 import EnumString1 from petstore_api.models.enum_string2 import EnumString2 from petstore_api.models.enum_test import EnumTest +from petstore_api.models.enum_with_common_prefix import EnumWithCommonPrefix from petstore_api.models.feeding import Feeding from petstore_api.models.field import Field from petstore_api.models.file import File diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/enum_with_common_prefix.py b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/enum_with_common_prefix.py new file mode 100644 index 000000000000..6211d60eb15c --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/enum_with_common_prefix.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import json +import pprint +import re # noqa: F401 +from aenum import Enum, no_arg + + + + + +class EnumWithCommonPrefix(str, Enum): + """ + EnumWithCommonPrefix + """ + + """ + allowed enum values + """ + VAL_1 = 'VAL_1' + VAL_2 = 'VAL_2' + VAL_3 = 'VAL_3' + + @classmethod + def from_json(cls, json_str: str) -> EnumWithCommonPrefix: + """Create an instance of EnumWithCommonPrefix from a JSON string""" + return EnumWithCommonPrefix(json.loads(json_str)) + + diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/test_model_with_enum_default.py b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/test_model_with_enum_default.py index 7a3481e9d0cd..9329c1438e93 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/test_model_with_enum_default.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/test_model_with_enum_default.py @@ -20,6 +20,7 @@ from typing import Optional from pydantic import BaseModel, Field, StrictStr, validator +from petstore_api.models.enum_with_common_prefix import EnumWithCommonPrefix from petstore_api.models.test_enum import TestEnum from petstore_api.models.test_enum_with_default import TestEnumWithDefault @@ -27,12 +28,13 @@ class TestModelWithEnumDefault(BaseModel): """ TestModelWithEnumDefault """ + test_enum_common_prefix: Optional[EnumWithCommonPrefix] = None test_enum: TestEnum = Field(...) test_string: Optional[StrictStr] = None test_enum_with_default: Optional[TestEnumWithDefault] = None test_string_with_default: Optional[StrictStr] = 'ahoy matey' test_inline_defined_enum_with_default: Optional[StrictStr] = 'B' - __properties = ["test_enum", "test_string", "test_enum_with_default", "test_string_with_default", "test_inline_defined_enum_with_default"] + __properties = ["test_enum_common_prefix", "test_enum", "test_string", "test_enum_with_default", "test_string_with_default", "test_inline_defined_enum_with_default"] @validator('test_inline_defined_enum_with_default') def test_inline_defined_enum_with_default_validate_enum(cls, value): @@ -80,6 +82,7 @@ def from_dict(cls, obj: dict) -> TestModelWithEnumDefault: return TestModelWithEnumDefault.parse_obj(obj) _obj = TestModelWithEnumDefault.parse_obj({ + "test_enum_common_prefix": obj.get("test_enum_common_prefix"), "test_enum": obj.get("test_enum"), "test_string": obj.get("test_string"), "test_enum_with_default": obj.get("test_enum_with_default"), diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/test/test_enum_with_common_prefix.py b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/test/test_enum_with_common_prefix.py new file mode 100644 index 000000000000..47c76b45dec4 --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/test/test_enum_with_common_prefix.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from petstore_api.models.enum_with_common_prefix import EnumWithCommonPrefix # noqa: E501 + +class TestEnumWithCommonPrefix(unittest.TestCase): + """EnumWithCommonPrefix unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testEnumWithCommonPrefix(self): + """Test EnumWithCommonPrefix""" + # inst = EnumWithCommonPrefix() + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/.openapi-generator/FILES b/samples/openapi3/client/petstore/python-pydantic-v1/.openapi-generator/FILES index cafa99c6a715..a1ceeb2e826a 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/.openapi-generator/FILES +++ b/samples/openapi3/client/petstore/python-pydantic-v1/.openapi-generator/FILES @@ -43,6 +43,7 @@ docs/EnumClass.md docs/EnumString1.md docs/EnumString2.md docs/EnumTest.md +docs/EnumWithCommonPrefix.md docs/FakeApi.md docs/FakeClassnameTags123Api.md docs/Feeding.md @@ -170,6 +171,7 @@ petstore_api/models/enum_class.py petstore_api/models/enum_string1.py petstore_api/models/enum_string2.py petstore_api/models/enum_test.py +petstore_api/models/enum_with_common_prefix.py petstore_api/models/feeding.py petstore_api/models/field.py petstore_api/models/file.py diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/README.md b/samples/openapi3/client/petstore/python-pydantic-v1/README.md index 359dc388fa2e..f5c90f12fda4 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/README.md +++ b/samples/openapi3/client/petstore/python-pydantic-v1/README.md @@ -190,6 +190,7 @@ Class | Method | HTTP request | Description - [EnumString1](docs/EnumString1.md) - [EnumString2](docs/EnumString2.md) - [EnumTest](docs/EnumTest.md) + - [EnumWithCommonPrefix](docs/EnumWithCommonPrefix.md) - [Feeding](docs/Feeding.md) - [Field](docs/Field.md) - [File](docs/File.md) diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/docs/EnumWithCommonPrefix.md b/samples/openapi3/client/petstore/python-pydantic-v1/docs/EnumWithCommonPrefix.md new file mode 100644 index 000000000000..51dff9c6076d --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1/docs/EnumWithCommonPrefix.md @@ -0,0 +1,14 @@ +# EnumWithCommonPrefix + + +## Enum + +* `VAL_1` (value: `'VAL_1'`) + +* `VAL_2` (value: `'VAL_2'`) + +* `VAL_3` (value: `'VAL_3'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/docs/TestModelWithEnumDefault.md b/samples/openapi3/client/petstore/python-pydantic-v1/docs/TestModelWithEnumDefault.md index 7adae701beb2..c0cf0af34d2e 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/docs/TestModelWithEnumDefault.md +++ b/samples/openapi3/client/petstore/python-pydantic-v1/docs/TestModelWithEnumDefault.md @@ -4,6 +4,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**test_enum_common_prefix** | [**EnumWithCommonPrefix**](EnumWithCommonPrefix.md) | | [optional] **test_enum** | [**TestEnum**](TestEnum.md) | | **test_string** | **str** | | [optional] **test_enum_with_default** | [**TestEnumWithDefault**](TestEnumWithDefault.md) | | [optional] diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/__init__.py b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/__init__.py index f178ffe52f18..af783b69f57e 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/__init__.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/__init__.py @@ -77,6 +77,7 @@ from petstore_api.models.enum_string1 import EnumString1 from petstore_api.models.enum_string2 import EnumString2 from petstore_api.models.enum_test import EnumTest +from petstore_api.models.enum_with_common_prefix import EnumWithCommonPrefix from petstore_api.models.feeding import Feeding from petstore_api.models.field import Field from petstore_api.models.file import File diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/__init__.py b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/__init__.py index b6a5d674a51c..49281bf1e589 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/__init__.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/__init__.py @@ -52,6 +52,7 @@ from petstore_api.models.enum_string1 import EnumString1 from petstore_api.models.enum_string2 import EnumString2 from petstore_api.models.enum_test import EnumTest +from petstore_api.models.enum_with_common_prefix import EnumWithCommonPrefix from petstore_api.models.feeding import Feeding from petstore_api.models.field import Field from petstore_api.models.file import File diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/enum_with_common_prefix.py b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/enum_with_common_prefix.py new file mode 100644 index 000000000000..6211d60eb15c --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/enum_with_common_prefix.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import json +import pprint +import re # noqa: F401 +from aenum import Enum, no_arg + + + + + +class EnumWithCommonPrefix(str, Enum): + """ + EnumWithCommonPrefix + """ + + """ + allowed enum values + """ + VAL_1 = 'VAL_1' + VAL_2 = 'VAL_2' + VAL_3 = 'VAL_3' + + @classmethod + def from_json(cls, json_str: str) -> EnumWithCommonPrefix: + """Create an instance of EnumWithCommonPrefix from a JSON string""" + return EnumWithCommonPrefix(json.loads(json_str)) + + diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/test_model_with_enum_default.py b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/test_model_with_enum_default.py index 092b584a3606..09fe0b674993 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/test_model_with_enum_default.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/test_model_with_enum_default.py @@ -20,6 +20,7 @@ from typing import Any, Dict, Optional from pydantic import BaseModel, Field, StrictStr, validator +from petstore_api.models.enum_with_common_prefix import EnumWithCommonPrefix from petstore_api.models.test_enum import TestEnum from petstore_api.models.test_enum_with_default import TestEnumWithDefault @@ -27,13 +28,14 @@ class TestModelWithEnumDefault(BaseModel): """ TestModelWithEnumDefault """ + test_enum_common_prefix: Optional[EnumWithCommonPrefix] = None test_enum: TestEnum = Field(...) test_string: Optional[StrictStr] = None test_enum_with_default: Optional[TestEnumWithDefault] = None test_string_with_default: Optional[StrictStr] = 'ahoy matey' test_inline_defined_enum_with_default: Optional[StrictStr] = 'B' additional_properties: Dict[str, Any] = {} - __properties = ["test_enum", "test_string", "test_enum_with_default", "test_string_with_default", "test_inline_defined_enum_with_default"] + __properties = ["test_enum_common_prefix", "test_enum", "test_string", "test_enum_with_default", "test_string_with_default", "test_inline_defined_enum_with_default"] @validator('test_inline_defined_enum_with_default') def test_inline_defined_enum_with_default_validate_enum(cls, value): @@ -87,6 +89,7 @@ def from_dict(cls, obj: dict) -> TestModelWithEnumDefault: return TestModelWithEnumDefault.parse_obj(obj) _obj = TestModelWithEnumDefault.parse_obj({ + "test_enum_common_prefix": obj.get("test_enum_common_prefix"), "test_enum": obj.get("test_enum"), "test_string": obj.get("test_string"), "test_enum_with_default": obj.get("test_enum_with_default"), diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/test/test_enum_with_common_prefix.py b/samples/openapi3/client/petstore/python-pydantic-v1/test/test_enum_with_common_prefix.py new file mode 100644 index 000000000000..47c76b45dec4 --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1/test/test_enum_with_common_prefix.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from petstore_api.models.enum_with_common_prefix import EnumWithCommonPrefix # noqa: E501 + +class TestEnumWithCommonPrefix(unittest.TestCase): + """EnumWithCommonPrefix unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testEnumWithCommonPrefix(self): + """Test EnumWithCommonPrefix""" + # inst = EnumWithCommonPrefix() + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/petstore/python/.openapi-generator/FILES b/samples/openapi3/client/petstore/python/.openapi-generator/FILES index 8558e1d2f58a..09d15e14854b 100755 --- a/samples/openapi3/client/petstore/python/.openapi-generator/FILES +++ b/samples/openapi3/client/petstore/python/.openapi-generator/FILES @@ -42,6 +42,7 @@ docs/EnumClass.md docs/EnumString1.md docs/EnumString2.md docs/EnumTest.md +docs/EnumWithCommonPrefix.md docs/FakeApi.md docs/FakeClassnameTags123Api.md docs/Feeding.md @@ -169,6 +170,7 @@ petstore_api/models/enum_class.py petstore_api/models/enum_string1.py petstore_api/models/enum_string2.py petstore_api/models/enum_test.py +petstore_api/models/enum_with_common_prefix.py petstore_api/models/feeding.py petstore_api/models/file.py petstore_api/models/file_schema_test_class.py diff --git a/samples/openapi3/client/petstore/python/README.md b/samples/openapi3/client/petstore/python/README.md index 4cca7ff8f57f..956e55f24d5a 100755 --- a/samples/openapi3/client/petstore/python/README.md +++ b/samples/openapi3/client/petstore/python/README.md @@ -188,6 +188,7 @@ Class | Method | HTTP request | Description - [EnumString1](docs/EnumString1.md) - [EnumString2](docs/EnumString2.md) - [EnumTest](docs/EnumTest.md) + - [EnumWithCommonPrefix](docs/EnumWithCommonPrefix.md) - [Feeding](docs/Feeding.md) - [File](docs/File.md) - [FileSchemaTestClass](docs/FileSchemaTestClass.md) diff --git a/samples/openapi3/client/petstore/python/docs/EnumWithCommonPrefix.md b/samples/openapi3/client/petstore/python/docs/EnumWithCommonPrefix.md new file mode 100644 index 000000000000..51dff9c6076d --- /dev/null +++ b/samples/openapi3/client/petstore/python/docs/EnumWithCommonPrefix.md @@ -0,0 +1,14 @@ +# EnumWithCommonPrefix + + +## Enum + +* `VAL_1` (value: `'VAL_1'`) + +* `VAL_2` (value: `'VAL_2'`) + +* `VAL_3` (value: `'VAL_3'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/openapi3/client/petstore/python/docs/TestModelWithEnumDefault.md b/samples/openapi3/client/petstore/python/docs/TestModelWithEnumDefault.md index 7d46e86deba4..42414e901a8d 100644 --- a/samples/openapi3/client/petstore/python/docs/TestModelWithEnumDefault.md +++ b/samples/openapi3/client/petstore/python/docs/TestModelWithEnumDefault.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**test_enum_common_prefix** | [**EnumWithCommonPrefix**](EnumWithCommonPrefix.md) | | [optional] [default to EnumWithCommonPrefix.VAL_2] **test_enum** | [**TestEnum**](TestEnum.md) | | **test_string** | **str** | | [optional] **test_enum_with_default** | [**TestEnumWithDefault**](TestEnumWithDefault.md) | | [optional] [default to TestEnumWithDefault.ZWEI] diff --git a/samples/openapi3/client/petstore/python/petstore_api/__init__.py b/samples/openapi3/client/petstore/python/petstore_api/__init__.py index 27cc58ac25b6..121cc3d92df5 100755 --- a/samples/openapi3/client/petstore/python/petstore_api/__init__.py +++ b/samples/openapi3/client/petstore/python/petstore_api/__init__.py @@ -76,6 +76,7 @@ from petstore_api.models.enum_string1 import EnumString1 from petstore_api.models.enum_string2 import EnumString2 from petstore_api.models.enum_test import EnumTest +from petstore_api.models.enum_with_common_prefix import EnumWithCommonPrefix from petstore_api.models.feeding import Feeding from petstore_api.models.file import File from petstore_api.models.file_schema_test_class import FileSchemaTestClass diff --git a/samples/openapi3/client/petstore/python/petstore_api/models/__init__.py b/samples/openapi3/client/petstore/python/petstore_api/models/__init__.py index 12531e2d9063..7d808c323a1c 100644 --- a/samples/openapi3/client/petstore/python/petstore_api/models/__init__.py +++ b/samples/openapi3/client/petstore/python/petstore_api/models/__init__.py @@ -51,6 +51,7 @@ from petstore_api.models.enum_string1 import EnumString1 from petstore_api.models.enum_string2 import EnumString2 from petstore_api.models.enum_test import EnumTest +from petstore_api.models.enum_with_common_prefix import EnumWithCommonPrefix from petstore_api.models.feeding import Feeding from petstore_api.models.file import File from petstore_api.models.file_schema_test_class import FileSchemaTestClass diff --git a/samples/openapi3/client/petstore/python/petstore_api/models/enum_with_common_prefix.py b/samples/openapi3/client/petstore/python/petstore_api/models/enum_with_common_prefix.py new file mode 100644 index 000000000000..647d132314dc --- /dev/null +++ b/samples/openapi3/client/petstore/python/petstore_api/models/enum_with_common_prefix.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class EnumWithCommonPrefix(str, Enum): + """ + EnumWithCommonPrefix + """ + + """ + allowed enum values + """ + VAL_1 = 'VAL_1' + VAL_2 = 'VAL_2' + VAL_3 = 'VAL_3' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of EnumWithCommonPrefix from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/samples/openapi3/client/petstore/python/petstore_api/models/test_model_with_enum_default.py b/samples/openapi3/client/petstore/python/petstore_api/models/test_model_with_enum_default.py index 4bff5e699a37..56327b2835be 100644 --- a/samples/openapi3/client/petstore/python/petstore_api/models/test_model_with_enum_default.py +++ b/samples/openapi3/client/petstore/python/petstore_api/models/test_model_with_enum_default.py @@ -19,6 +19,7 @@ from pydantic import BaseModel, ConfigDict, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional +from petstore_api.models.enum_with_common_prefix import EnumWithCommonPrefix from petstore_api.models.test_enum import TestEnum from petstore_api.models.test_enum_with_default import TestEnumWithDefault from typing import Optional, Set @@ -28,13 +29,14 @@ class TestModelWithEnumDefault(BaseModel): """ TestModelWithEnumDefault """ # noqa: E501 + test_enum_common_prefix: Optional[EnumWithCommonPrefix] = EnumWithCommonPrefix.VAL_2 test_enum: TestEnum test_string: Optional[StrictStr] = None test_enum_with_default: Optional[TestEnumWithDefault] = TestEnumWithDefault.ZWEI test_string_with_default: Optional[StrictStr] = 'ahoy matey' test_inline_defined_enum_with_default: Optional[StrictStr] = 'B' additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["test_enum", "test_string", "test_enum_with_default", "test_string_with_default", "test_inline_defined_enum_with_default"] + __properties: ClassVar[List[str]] = ["test_enum_common_prefix", "test_enum", "test_string", "test_enum_with_default", "test_string_with_default", "test_inline_defined_enum_with_default"] @field_validator('test_inline_defined_enum_with_default') def test_inline_defined_enum_with_default_validate_enum(cls, value): @@ -104,6 +106,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "test_enum_common_prefix": obj.get("test_enum_common_prefix") if obj.get("test_enum_common_prefix") is not None else EnumWithCommonPrefix.VAL_2, "test_enum": obj.get("test_enum"), "test_string": obj.get("test_string"), "test_enum_with_default": obj.get("test_enum_with_default") if obj.get("test_enum_with_default") is not None else TestEnumWithDefault.ZWEI, diff --git a/samples/openapi3/client/petstore/python/test/test_enum_with_common_prefix.py b/samples/openapi3/client/petstore/python/test/test_enum_with_common_prefix.py new file mode 100644 index 000000000000..b679118edc70 --- /dev/null +++ b/samples/openapi3/client/petstore/python/test/test_enum_with_common_prefix.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from petstore_api.models.enum_with_common_prefix import EnumWithCommonPrefix + +class TestEnumWithCommonPrefix(unittest.TestCase): + """EnumWithCommonPrefix unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testEnumWithCommonPrefix(self): + """Test EnumWithCommonPrefix""" + # inst = EnumWithCommonPrefix() + +if __name__ == '__main__': + unittest.main() diff --git a/samples/server/petstore/python-flask/.openapi-generator/FILES b/samples/server/petstore/python-flask/.openapi-generator/FILES index 601faf458885..f7fda57b7472 100644 --- a/samples/server/petstore/python-flask/.openapi-generator/FILES +++ b/samples/server/petstore/python-flask/.openapi-generator/FILES @@ -17,6 +17,7 @@ openapi_server/models/__init__.py openapi_server/models/api_response.py openapi_server/models/base_model.py openapi_server/models/category.py +openapi_server/models/enum_with_common_prefix.py openapi_server/models/order.py openapi_server/models/pet.py openapi_server/models/tag.py diff --git a/samples/server/petstore/python-flask/openapi_server/models/__init__.py b/samples/server/petstore/python-flask/openapi_server/models/__init__.py index 5f1925e5c792..dcc5440ca59e 100644 --- a/samples/server/petstore/python-flask/openapi_server/models/__init__.py +++ b/samples/server/petstore/python-flask/openapi_server/models/__init__.py @@ -2,6 +2,7 @@ # import models into model package from openapi_server.models.api_response import ApiResponse from openapi_server.models.category import Category +from openapi_server.models.enum_with_common_prefix import EnumWithCommonPrefix from openapi_server.models.order import Order from openapi_server.models.pet import Pet from openapi_server.models.tag import Tag diff --git a/samples/server/petstore/python-flask/openapi_server/models/enum_with_common_prefix.py b/samples/server/petstore/python-flask/openapi_server/models/enum_with_common_prefix.py new file mode 100644 index 000000000000..5ee52a57af1e --- /dev/null +++ b/samples/server/petstore/python-flask/openapi_server/models/enum_with_common_prefix.py @@ -0,0 +1,40 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server import util + + +class EnumWithCommonPrefix(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + V_MORE_1 = 'V_MORE_1' + V_T_2 = 'V_T_2' + V_MULT_3 = 'V_MULT_3' + def __init__(self): # noqa: E501 + """EnumWithCommonPrefix - a model defined in OpenAPI + + """ + self.openapi_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'EnumWithCommonPrefix': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The EnumWithCommonPrefix of this EnumWithCommonPrefix. # noqa: E501 + :rtype: EnumWithCommonPrefix + """ + return util.deserialize_model(dikt, cls) diff --git a/samples/server/petstore/python-flask/openapi_server/models/enum_with_underscores.py b/samples/server/petstore/python-flask/openapi_server/models/enum_with_underscores.py new file mode 100644 index 000000000000..13faf23e0283 --- /dev/null +++ b/samples/server/petstore/python-flask/openapi_server/models/enum_with_underscores.py @@ -0,0 +1,40 @@ +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from openapi_server.models.base_model import Model +from openapi_server import util + + +class EnumWithUnderscores(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + V_MORE_1 = 'V_MORE_1' + V_T_2 = 'V_T_2' + V_MULT_3 = 'V_MULT_3' + def __init__(self): # noqa: E501 + """EnumWithUnderscores - a model defined in OpenAPI + + """ + self.openapi_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'EnumWithUnderscores': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The EnumWithUnderscores of this EnumWithUnderscores. # noqa: E501 + :rtype: EnumWithUnderscores + """ + return util.deserialize_model(dikt, cls) diff --git a/samples/server/petstore/python-flask/openapi_server/models/test_model.py b/samples/server/petstore/python-flask/openapi_server/models/test_model.py index 3550f70389c6..b18ce5d44ac0 100644 --- a/samples/server/petstore/python-flask/openapi_server/models/test_model.py +++ b/samples/server/petstore/python-flask/openapi_server/models/test_model.py @@ -3,10 +3,12 @@ from typing import List, Dict # noqa: F401 from openapi_server.models.base_model import Model +from openapi_server.models.enum_with_common_prefix import EnumWithCommonPrefix from openapi_server.models.test_enum import TestEnum from openapi_server.models.test_enum_with_default import TestEnumWithDefault from openapi_server import util +from openapi_server.models.enum_with_common_prefix import EnumWithCommonPrefix # noqa: E501 from openapi_server.models.test_enum import TestEnum # noqa: E501 from openapi_server.models.test_enum_with_default import TestEnumWithDefault # noqa: E501 @@ -16,9 +18,11 @@ class TestModel(Model): Do not edit the class manually. """ - def __init__(self, test_enum=None, test_string=None, test_enum_with_default=TestEnumWithDefault.ZWEI, test_string_with_default='ahoy matey', test_inline_defined_enum_with_default='B'): # noqa: E501 + def __init__(self, test_enum_common_prefix=EnumWithCommonPrefix.V_T_2, test_enum=None, test_string=None, test_enum_with_default=TestEnumWithDefault.ZWEI, test_string_with_default='ahoy matey', test_inline_defined_enum_with_default='B'): # noqa: E501 """TestModel - a model defined in OpenAPI + :param test_enum_common_prefix: The test_enum_common_prefix of this TestModel. # noqa: E501 + :type test_enum_common_prefix: EnumWithCommonPrefix :param test_enum: The test_enum of this TestModel. # noqa: E501 :type test_enum: TestEnum :param test_string: The test_string of this TestModel. # noqa: E501 @@ -31,6 +35,7 @@ def __init__(self, test_enum=None, test_string=None, test_enum_with_default=Test :type test_inline_defined_enum_with_default: str """ self.openapi_types = { + 'test_enum_common_prefix': EnumWithCommonPrefix, 'test_enum': TestEnum, 'test_string': str, 'test_enum_with_default': TestEnumWithDefault, @@ -39,6 +44,7 @@ def __init__(self, test_enum=None, test_string=None, test_enum_with_default=Test } self.attribute_map = { + 'test_enum_common_prefix': 'test_enum_common_prefix', 'test_enum': 'test_enum', 'test_string': 'test_string', 'test_enum_with_default': 'test_enum_with_default', @@ -46,6 +52,7 @@ def __init__(self, test_enum=None, test_string=None, test_enum_with_default=Test 'test_inline_defined_enum_with_default': 'test_inline_defined_enum_with_default' } + self._test_enum_common_prefix = test_enum_common_prefix self._test_enum = test_enum self._test_string = test_string self._test_enum_with_default = test_enum_with_default @@ -63,6 +70,27 @@ def from_dict(cls, dikt) -> 'TestModel': """ return util.deserialize_model(dikt, cls) + @property + def test_enum_common_prefix(self) -> EnumWithCommonPrefix: + """Gets the test_enum_common_prefix of this TestModel. + + + :return: The test_enum_common_prefix of this TestModel. + :rtype: EnumWithCommonPrefix + """ + return self._test_enum_common_prefix + + @test_enum_common_prefix.setter + def test_enum_common_prefix(self, test_enum_common_prefix: EnumWithCommonPrefix): + """Sets the test_enum_common_prefix of this TestModel. + + + :param test_enum_common_prefix: The test_enum_common_prefix of this TestModel. + :type test_enum_common_prefix: EnumWithCommonPrefix + """ + + self._test_enum_common_prefix = test_enum_common_prefix + @property def test_enum(self) -> TestEnum: """Gets the test_enum of this TestModel. diff --git a/samples/server/petstore/python-flask/openapi_server/openapi/openapi.yaml b/samples/server/petstore/python-flask/openapi_server/openapi/openapi.yaml index d99503c94ea5..ebf717533d82 100644 --- a/samples/server/petstore/python-flask/openapi_server/openapi/openapi.yaml +++ b/samples/server/petstore/python-flask/openapi_server/openapi/openapi.yaml @@ -870,8 +870,19 @@ components: - DREI title: TestEnumWithDefault type: string + EnumWithCommonPrefix: + default: V_T_2 + enum: + - V_MORE_1 + - V_T_2 + - V_MULT_3 + example: V_T_2 + title: EnumWithCommonPrefix + type: string TestModel: properties: + test_enum_common_prefix: + $ref: '#/components/schemas/EnumWithCommonPrefix' test_enum: $ref: '#/components/schemas/TestEnum' test_string: