import Annotated if needed (#16521)

This commit is contained in:
William Cheng 2023-09-07 14:36:45 +08:00 committed by GitHub
parent fbff32c5d7
commit dee536f7f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 24 additions and 22 deletions

View File

@ -1747,6 +1747,7 @@ public abstract class AbstractPythonCodegen extends DefaultCodegen implements Co
@Override
public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List<ModelMap> allModels) {
hasModelsToImport = false;
boolean importAnnotated = false;
TreeSet<String> typingImports = new TreeSet<>();
TreeSet<String> pydanticImports = new TreeSet<>();
TreeSet<String> datetimeImports = new TreeSet<>();
@ -1807,6 +1808,7 @@ public abstract class AbstractPythonCodegen extends DefaultCodegen implements Co
param.vendorExtensions.put("x-py-typing", typing);
} else {
param.vendorExtensions.put("x-py-typing", String.format(Locale.ROOT, "Annotated[%s, %s]", typing, fieldCustomization));
importAnnotated = true;
}
}
@ -1838,6 +1840,12 @@ public abstract class AbstractPythonCodegen extends DefaultCodegen implements Co
List<Map<String, String>> newImports = new ArrayList<>();
if (importAnnotated) {
Map<String, String> item = new HashMap<>();
item.put("import", String.format(Locale.ROOT, String.format(Locale.ROOT, "from typing_extensions import Annotated")));
newImports.add(item);
}
// need datetime import
if (!datetimeImports.isEmpty()) {
Map<String, String> item = new HashMap<>();

View File

@ -7,8 +7,9 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated{{#asyncio}}
from typing import overload, Optional, Union, Awaitable{{/asyncio}}
{{#asyncio}}
from typing import overload, Optional, Union, Awaitable
{{/asyncio}}
{{#imports}}
{{import}}

View File

@ -18,7 +18,6 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from openapi_client.api_client import ApiClient

View File

@ -18,8 +18,8 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from typing_extensions import Annotated
from pydantic import Field, StrictBytes, StrictStr, conlist
from typing import Any, Dict, Optional, Union

View File

@ -18,7 +18,6 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from pydantic import StrictBool, StrictInt, StrictStr

View File

@ -18,7 +18,6 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from pydantic import StrictBool, StrictInt, StrictStr

View File

@ -18,7 +18,6 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from pydantic import StrictInt, StrictStr

View File

@ -18,7 +18,6 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from datetime import date, datetime

View File

@ -17,9 +17,9 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from typing import overload, Optional, Union, Awaitable
from typing_extensions import Annotated
from pydantic import Field
from petstore_api.models.client import Client

View File

@ -17,7 +17,6 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from typing import overload, Optional, Union, Awaitable
from petstore_api.models.foo_get_default_response import FooGetDefaultResponse

View File

@ -17,9 +17,9 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from typing import overload, Optional, Union, Awaitable
from typing_extensions import Annotated
from datetime import date, datetime
from pydantic import Field, StrictBool, StrictBytes, StrictInt, StrictStr, conbytes, confloat, conint, conlist, constr, validator

View File

@ -17,9 +17,9 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from typing import overload, Optional, Union, Awaitable
from typing_extensions import Annotated
from pydantic import Field
from petstore_api.models.client import Client

View File

@ -17,9 +17,9 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from typing import overload, Optional, Union, Awaitable
from typing_extensions import Annotated
from pydantic import Field, StrictBytes, StrictInt, StrictStr, conlist, validator
from typing import List, Optional, Union

View File

@ -17,9 +17,9 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from typing import overload, Optional, Union, Awaitable
from typing_extensions import Annotated
from pydantic import Field, StrictStr, conint
from typing import Dict

View File

@ -17,9 +17,9 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from typing import overload, Optional, Union, Awaitable
from typing_extensions import Annotated
from pydantic import Field, StrictStr, conlist
from petstore_api.models.user import User

View File

@ -17,8 +17,8 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from typing_extensions import Annotated
from pydantic import Field
from petstore_api.models.client import Client

View File

@ -17,7 +17,6 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from petstore_api.models.foo_get_default_response import FooGetDefaultResponse

View File

@ -17,8 +17,8 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from typing_extensions import Annotated
from datetime import date, datetime
from pydantic import Field, StrictBool, StrictBytes, StrictFloat, StrictInt, StrictStr, conbytes, confloat, conint, conlist, constr, validator

View File

@ -17,8 +17,8 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from typing_extensions import Annotated
from pydantic import Field
from petstore_api.models.client import Client

View File

@ -17,8 +17,8 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from typing_extensions import Annotated
from pydantic import Field, StrictBytes, StrictInt, StrictStr, conlist, validator
from typing import List, Optional, Union

View File

@ -17,8 +17,8 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from typing_extensions import Annotated
from pydantic import Field, StrictStr, conint
from typing import Dict

View File

@ -17,8 +17,8 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing_extensions import Annotated
from typing_extensions import Annotated
from pydantic import Field, StrictStr, conlist
from petstore_api.models.user import User