[python-nextgen] fix #16151 Disallow additional properties if not present - missing Any and Dict import (#16208)

* [python-nextgen] fix #16151 Disallow additional properties if not present - missing Any and Dict import

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python-nextgen] update samples

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python-nextgen] remove unwanted imports

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python-nextgen] update samples

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python-nextgen] remove unwanted imports

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python-nextgen] update samples

Signed-off-by: ふぁ <yuki@yuki0311.com>

---------

Signed-off-by: ふぁ <yuki@yuki0311.com>
This commit is contained in:
ふぁ 2023-07-29 11:51:28 +09:00 committed by GitHub
parent e411b2ac0a
commit d9fc039dcf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
60 changed files with 71 additions and 65 deletions

View File

@ -1239,6 +1239,14 @@ public class PythonClientCodegen extends AbstractPythonCodegen implements Codege
codegenProperties = model.vars;
}
// if model_generic.mustache is used
if (model.oneOf.isEmpty() && !model.isEnum) {
if (!this.disallowAdditionalPropertiesIfNotPresent) {
typingImports.add("Dict");
typingImports.add("Any");
}
}
//loop through properties/schemas to set up typing, pydantic
for (CodegenProperty cp : codegenProperties) {
String typing = getPydanticType(cp, typingImports, pydanticImports, datetimeImports, modelImports, exampleImports, model.classname);
@ -1314,13 +1322,11 @@ public class PythonClientCodegen extends AbstractPythonCodegen implements Codege
}
}
if (!model.isEnum) {
pydanticImports.add("BaseModel");
}
// add parent model to import
if (!StringUtils.isEmpty(model.parent)) {
modelImports.add(model.parent);
} else if (!model.isEnum) {
pydanticImports.add("BaseModel");
}
// set enum type in extensions and update `name` in enumVars

View File

@ -20,7 +20,7 @@ import json
from datetime import datetime
from typing import Optional
from pydantic import BaseModel, Field, StrictStr
from pydantic import Field, StrictStr
from openapi_client.models.query import Query
class DataQuery(Query):

View File

@ -19,7 +19,7 @@ import json
from typing import Optional
from pydantic import BaseModel, StrictBool
from pydantic import StrictBool
from petstore_api.models.animal import Animal
class Cat(Animal):

View File

@ -19,7 +19,7 @@ import json
from typing import Optional
from pydantic import BaseModel, StrictStr
from pydantic import StrictStr
from petstore_api.models.animal import Animal
class Dog(Animal):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Dict, Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, StrictStr
class AdditionalPropertiesClass(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictStr
from petstore_api.models.single_ref_type import SingleRefType

View File

@ -19,7 +19,7 @@ import json
import petstore_api.models
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictStr
class Animal(BaseModel):

View File

@ -18,7 +18,7 @@ import json
import pprint
import re # noqa: F401
from typing import List, Optional
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, Field, StrictStr, ValidationError, conint, conlist, constr, validator
from typing import Union, Any, List, TYPE_CHECKING
from pydantic import StrictStr, Field

View File

@ -18,7 +18,7 @@ import json
import pprint
import re # noqa: F401
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictStr, ValidationError, validator
from petstore_api.models.basque_pig import BasquePig
from petstore_api.models.danish_pig import DanishPig

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, StrictInt, StrictStr
class ApiResponse(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import List, Optional
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, conlist
from petstore_api.models.tag import Tag

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import List, Optional
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, Field, StrictFloat, conlist
class ArrayOfArrayOfNumberOnly(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import List, Optional
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, Field, StrictFloat, conlist
class ArrayOfNumberOnly(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import List, Optional
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, StrictInt, StrictStr, conlist
from petstore_api.models.read_only_first import ReadOnlyFirst

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Any, Dict
from pydantic import BaseModel, Field, StrictStr
class BasquePig(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictStr
class Capitalization(BaseModel):

View File

@ -18,8 +18,8 @@ import re # noqa: F401
import json
from typing import Optional
from pydantic import BaseModel, StrictBool
from typing import Any, Dict, Optional
from pydantic import StrictBool
from petstore_api.models.animal import Animal
class Cat(Animal):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictInt, StrictStr
class Category(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, StrictInt
class CircularReferenceModel(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictStr
class ClassModel(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, StrictStr
class Client(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Any, Dict
from pydantic import BaseModel, Field, StrictInt, StrictStr
class DanishPig(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, StrictStr
class DeprecatedObject(BaseModel):

View File

@ -18,8 +18,8 @@ import re # noqa: F401
import json
from typing import Optional
from pydantic import BaseModel, StrictStr
from typing import Any, Dict, Optional
from pydantic import StrictStr
from petstore_api.models.animal import Animal
class Dog(Animal):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, StrictStr
class DummyModel(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import List, Optional
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, StrictStr, conlist, validator
class EnumArrays(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictFloat, StrictInt, StrictStr, validator
from petstore_api.models.outer_enum import OuterEnum
from petstore_api.models.outer_enum_default_value import OuterEnumDefaultValue

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictStr
class File(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import List, Optional
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, conlist
from petstore_api.models.file import File

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, StrictStr
class FirstRef(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, StrictStr
class Foo(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel
from petstore_api.models.foo import Foo

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from datetime import date, datetime
from typing import Optional, Union
from typing import Any, Dict, Optional, Union
from pydantic import BaseModel, Field, StrictBytes, StrictInt, StrictStr, condecimal, confloat, conint, constr, validator
class FormatTest(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, StrictStr
class HasOnlyReadOnly(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictStr
class HealthCheckResult(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictStr
class List(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Dict, List, Optional
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, Field, conlist
from petstore_api.models.tag import Tag

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Dict, Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, StrictBool, StrictStr, validator
class MapTest(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from datetime import datetime
from typing import Dict, Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictStr
from petstore_api.models.animal import Animal

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictInt, StrictStr
class Model200Response(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictInt
class ModelReturn(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictInt, StrictStr
class Name(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictInt, constr, validator
class NullableProperty(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictFloat
class NumberOnly(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import List, Optional
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, Field, StrictFloat, StrictStr, conlist
from petstore_api.models.deprecated_object import DeprecatedObject

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from datetime import datetime
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictBool, StrictInt, StrictStr, validator
class Order(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, StrictBool, StrictFloat, StrictStr
class OuterComposite(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field
from petstore_api.models.outer_enum import OuterEnum
from petstore_api.models.outer_enum_integer import OuterEnumInteger

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Dict, Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field
from petstore_api.models.inner_dict_with_property import InnerDictWithProperty

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Dict, Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field
from petstore_api.models.inner_dict_with_property import InnerDictWithProperty

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import List, Optional
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, Field, StrictInt, StrictStr, conlist, validator
from petstore_api.models.category import Category
from petstore_api.models.tag import Tag

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictStr
class PropertyNameCollision(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, StrictStr
class ReadOnlyFirst(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, StrictStr
class SecondRef(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, StrictInt
class SelfReferenceModel(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictInt
class SpecialModelName(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictInt, StrictStr, validator
from petstore_api.models.category import Category

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, StrictInt, StrictStr
class Tag(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, StrictInt, StrictStr
class User(BaseModel):

View File

@ -18,7 +18,7 @@ import re # noqa: F401
import json
from typing import Optional
from typing import Any, Dict, Optional
from pydantic import BaseModel, StrictInt
from petstore_api.models.one_of_enum_string import OneOfEnumString
from petstore_api.models.pig import Pig