Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
18 changes: 9 additions & 9 deletions modules/openapi-generator/src/main/resources/python/api.mustache
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

import warnings
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
from typing import Any, Dict, List, Optional, Tuple, Union
from typing import Any, Optional, Union
from typing_extensions import Annotated

{{#imports}}
Expand Down Expand Up @@ -93,20 +93,20 @@ class {{classname}}:
_host = None
{{/servers.0}}

_collection_formats: Dict[str, str] = {
_collection_formats: dict[str, str] = {
{{#allParams}}
{{#isArray}}
'{{baseName}}': '{{collectionFormat}}',
{{/isArray}}
{{/allParams}}
}

_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
_path_params: dict[str, str] = {}
_query_params: list[tuple[str, str]] = []
_header_params: dict[str, Optional[str]] = _headers or {}
_form_params: list[tuple[str, str]] = []
_files: dict[
str, Union[str, bytes, list[str], list[bytes], list[tuple[str, bytes]]]
] = {}
_body_params: Optional[bytes] = None

Expand Down Expand Up @@ -220,7 +220,7 @@ class {{classname}}:
{{/hasConsumes}}

# authentication setting
_auth_settings: List[str] = [{{#authMethods}}
_auth_settings: list[str] = [{{#authMethods}}
'{{name}}'{{^-last}}, {{/-last}}{{/authMethods}}
]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import tempfile
import uuid

from urllib.parse import quote
from typing import Tuple, Optional, List, Dict, Union
from typing import Optional, Union
from pydantic import SecretStr
{{#tornado}}
import tornado.gen
Expand All @@ -35,7 +35,7 @@ from {{packageName}}.exceptions import (
ServiceException
)

RequestSerialized = Tuple[str, str, Dict[str, str], Optional[str], List[str]]
RequestSerialized = tuple[str, str, dict[str, str], Optional[str], list[str]]

class ApiClient:
"""Generic API client for OpenAPI client library builds.
Expand Down Expand Up @@ -295,7 +295,7 @@ class ApiClient:
def response_deserialize(
self,
response_data: rest.RESTResponse,
response_types_map: Optional[Dict[str, ApiResponseT]]=None
response_types_map: Optional[dict[str, ApiResponseT]]=None
) -> ApiResponse[ApiResponseT]:
"""Deserializes response into an object.
:param response_data: RESTResponse object to be deserialized.
Expand Down Expand Up @@ -447,16 +447,16 @@ class ApiClient:
return None

if isinstance(klass, str):
if klass.startswith('List['):
m = re.match(r'List\[(.*)]', klass)
assert m is not None, "Malformed List type definition"
if klass.startswith('list['):
m = re.match(r'list\[(.*)]', klass)
assert m is not None, "Malformed list type definition"
sub_kls = m.group(1)
return [self.__deserialize(sub_data, sub_kls)
for sub_data in data]

if klass.startswith('Dict['):
m = re.match(r'Dict\[([^,]*), (.*)]', klass)
assert m is not None, "Malformed Dict type definition"
if klass.startswith('dict['):
m = re.match(r'dict\[([^,]*), (.*)]', klass)
assert m is not None, "Malformed dict type definition"
sub_kls = m.group(2)
return {k: self.__deserialize(v, sub_kls)
for k, v in data.items()}
Expand Down Expand Up @@ -489,7 +489,7 @@ class ApiClient:
:param dict collection_formats: Parameter collection formats
:return: Parameters as list of tuples, collections formatted
"""
new_params: List[Tuple[str, str]] = []
new_params: list[tuple[str, str]] = []
if collection_formats is None:
collection_formats = {}
for k, v in params.items() if isinstance(params, dict) else params:
Expand Down Expand Up @@ -519,7 +519,7 @@ class ApiClient:
:param dict collection_formats: Parameter collection formats
:return: URL query string (e.g. a=Hello%20World&b=123)
"""
new_params: List[Tuple[str, str]] = []
new_params: list[tuple[str, str]] = []
if collection_formats is None:
collection_formats = {}
for k, v in params.items() if isinstance(params, dict) else params:
Expand Down Expand Up @@ -553,7 +553,7 @@ class ApiClient:

def files_parameters(
self,
files: Dict[str, Union[str, bytes, List[str], List[bytes], Tuple[str, bytes]]],
files: dict[str, Union[str, bytes, list[str], list[bytes], tuple[str, bytes]]],
):
"""Builds form parameters.

Expand Down Expand Up @@ -586,7 +586,7 @@ class ApiClient:
)
return params

def select_header_accept(self, accepts: List[str]) -> Optional[str]:
def select_header_accept(self, accepts: list[str]) -> Optional[str]:
"""Returns `Accept` based on an array of accepts provided.

:param accepts: List of headers.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ from logging import FileHandler
import multiprocessing
{{/async}}
import sys
from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict, Union
from typing import Any, ClassVar, Literal, Optional, TypedDict, Union
from typing_extensions import NotRequired, Self

{{^async}}
Expand All @@ -31,7 +31,7 @@ JSON_SCHEMA_VALIDATION_KEYWORDS = {
'minLength', 'pattern', 'maxItems', 'minItems'
}

ServerVariablesT = Dict[str, str]
ServerVariablesT = dict[str, str]

GenericAuthSetting = TypedDict(
"GenericAuthSetting",
Expand Down Expand Up @@ -146,13 +146,13 @@ AuthSettings = TypedDict(
class HostSettingVariable(TypedDict):
description: str
default_value: str
enum_values: List[str]
enum_values: list[str]


class HostSetting(TypedDict):
url: str
description: str
variables: NotRequired[Dict[str, HostSettingVariable]]
variables: NotRequired[dict[str, HostSettingVariable]]


class Configuration:
Expand Down Expand Up @@ -289,8 +289,8 @@ conf = {{{packageName}}}.Configuration(
def __init__(
self,
host: Optional[str]=None,
api_key: Optional[Dict[str, str]]=None,
api_key_prefix: Optional[Dict[str, str]]=None,
api_key: Optional[dict[str, str]]=None,
api_key_prefix: Optional[dict[str, str]]=None,
username: Optional[str]=None,
password: Optional[str]=None,
access_token: Optional[str]=None,
Expand All @@ -299,8 +299,8 @@ conf = {{{packageName}}}.Configuration(
{{/hasHttpSignatureMethods}}
server_index: Optional[int]=None,
server_variables: Optional[ServerVariablesT]=None,
server_operation_index: Optional[Dict[int, int]]=None,
server_operation_variables: Optional[Dict[int, ServerVariablesT]]=None,
server_operation_index: Optional[dict[int, int]]=None,
server_operation_variables: Optional[dict[int, ServerVariablesT]]=None,
ignore_operation_servers: bool=False,
ssl_ca_cert: Optional[str]=None,
retries: Optional[Union[int, Any]] = None,
Expand Down Expand Up @@ -454,7 +454,7 @@ conf = {{{packageName}}}.Configuration(
"""date format
"""

def __deepcopy__(self, memo: Dict[int, Any]) -> Self:
def __deepcopy__(self, memo: dict[int, Any]) -> Self:
cls = self.__class__
result = cls.__new__(cls)
memo[id(self)] = result
Expand Down Expand Up @@ -714,7 +714,7 @@ conf = {{{packageName}}}.Configuration(
"SDK Package Version: {{packageVersion}}".\
format(env=sys.platform, pyversion=sys.version)

def get_host_settings(self) -> List[HostSetting]:
def get_host_settings(self) -> list[HostSetting]:
"""Gets an array of host settings

:return: An array of host settings
Expand Down Expand Up @@ -758,7 +758,7 @@ conf = {{{packageName}}}.Configuration(
self,
index: Optional[int],
variables: Optional[ServerVariablesT]=None,
servers: Optional[List[HostSetting]]=None,
servers: Optional[list[HostSetting]]=None,
) -> str:
"""Gets host URL based on the index and variables
:param index: array index of the host settings
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import re # noqa: F401
{{#vendorExtensions.x-py-model-imports}}
{{{.}}}
{{/vendorExtensions.x-py-model-imports}}
from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict
from typing import Union, Any, TYPE_CHECKING, Optional
from typing_extensions import Literal, Self
from pydantic import Field

Expand All @@ -28,15 +28,15 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
actual_instance: Optional[Union[{{#anyOf}}{{{.}}}{{^-last}}, {{/-last}}{{/anyOf}}]] = None
else:
actual_instance: Any = None
any_of_schemas: Set[str] = { {{#anyOf}}"{{.}}"{{^-last}}, {{/-last}}{{/anyOf}} }
any_of_schemas: set[str] = { {{#anyOf}}"{{.}}"{{^-last}}, {{/-last}}{{/anyOf}} }

model_config = {
"validate_assignment": True,
"protected_namespaces": (),
}
{{#discriminator}}

discriminator_value_class_map: Dict[str, str] = {
discriminator_value_class_map: dict[str, str] = {
{{#children}}
'{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}': '{{{classname}}}'{{^-last}},{{/-last}}
{{/children}}
Expand Down Expand Up @@ -95,7 +95,7 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
return v

@classmethod
def from_dict(cls, obj: Dict[str, Any]) -> Self:
def from_dict(cls, obj: dict[str, Any]) -> Self:
return cls.from_json(json.dumps(obj))

@classmethod
Expand Down Expand Up @@ -159,7 +159,7 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
else:
return json.dumps(self.actual_instance)

def to_dict(self) -> Optional[Union[Dict[str, Any], {{#anyOf}}{{.}}{{^-last}}, {{/-last}}{{/anyOf}}]]:
def to_dict(self) -> Optional[Union[dict[str, Any], {{#anyOf}}{{.}}{{^-last}}, {{/-last}}{{/anyOf}}]]:
"""Returns the dict representation of the actual instance"""
if self.actual_instance is None:
return None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import json
{{#vendorExtensions.x-py-model-imports}}
{{{.}}}
{{/vendorExtensions.x-py-model-imports}}
from typing import Optional, Set
from typing import Optional
from typing_extensions import Self

{{#hasChildren}}
Expand All @@ -31,9 +31,9 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
{{name}}: {{{vendorExtensions.x-py-typing}}}
{{/vars}}
{{#isAdditionalPropertiesTrue}}
additional_properties: Dict[str, Any] = {}
additional_properties: dict[str, Any] = {}
{{/isAdditionalPropertiesTrue}}
__properties: ClassVar[List[str]] = [{{#allVars}}"{{baseName}}"{{^-last}}, {{/-last}}{{/allVars}}]
__properties: ClassVar[list[str]] = [{{#allVars}}"{{baseName}}"{{^-last}}, {{/-last}}{{/allVars}}]
{{#vars}}
{{#vendorExtensions.x-regex}}

Expand Down Expand Up @@ -106,12 +106,12 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
__discriminator_property_name: ClassVar[str] = '{{discriminator.propertyBaseName}}'

# discriminator mappings
__discriminator_value_class_map: ClassVar[Dict[str, str]] = {
__discriminator_value_class_map: ClassVar[dict[str, str]] = {
{{#mappedModels}}'{{{mappingName}}}': '{{{modelName}}}'{{^-last}},{{/-last}}{{/mappedModels}}
}

@classmethod
def get_discriminator_value(cls, obj: Dict[str, Any]) -> Optional[str]:
def get_discriminator_value(cls, obj: dict[str, Any]) -> Optional[str]:
"""Returns the discriminator value (object type) of the data"""
discriminator_value = obj[cls.__discriminator_property_name]
if discriminator_value:
Expand All @@ -135,7 +135,7 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
"""Create an instance of {{{classname}}} from a JSON string"""
return cls.from_dict(json.loads(json_str))

def to_dict(self) -> Dict[str, Any]:
def to_dict(self) -> dict[str, Any]:
"""Return the dictionary representation of the model using alias.

This has the following differences from calling pydantic's
Expand All @@ -151,7 +151,7 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
* Fields in `self.additional_properties` are added to the output dict.
{{/isAdditionalPropertiesTrue}}
"""
excluded_fields: Set[str] = set([
excluded_fields: set[str] = set([
{{#vendorExtensions.x-py-readonly}}
"{{{.}}}",
{{/vendorExtensions.x-py-readonly}}
Expand Down Expand Up @@ -254,7 +254,7 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}

{{#hasChildren}}
@classmethod
def from_dict(cls, obj: Dict[str, Any]) -> Optional[{{#discriminator}}Union[{{#mappedModels}}{{{modelName}}}{{^-last}}, {{/-last}}{{/mappedModels}}]{{/discriminator}}{{^discriminator}}Self{{/discriminator}}]:
def from_dict(cls, obj: dict[str, Any]) -> Optional[{{#discriminator}}Union[{{#mappedModels}}{{{modelName}}}{{^-last}}, {{/-last}}{{/mappedModels}}]{{/discriminator}}{{^discriminator}}Self{{/discriminator}}]:
"""Create an instance of {{{classname}}} from a dict"""
{{#discriminator}}
# look up the object type based on discriminator mapping
Expand All @@ -271,7 +271,7 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
{{/hasChildren}}
{{^hasChildren}}
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
def from_dict(cls, obj: Optional[dict[str, Any]]) -> Optional[Self]:
"""Create an instance of {{{classname}}} from a dict"""
if obj is None:
return None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import pprint
{{{.}}}
{{/vendorExtensions.x-py-model-imports}}
from pydantic import StrictStr, Field
from typing import Union, List, Set, Optional, Dict
from typing import Union, Optional
from typing_extensions import Literal, Self

{{#lambda.uppercase}}{{{classname}}}{{/lambda.uppercase}}_ONE_OF_SCHEMAS = [{{#oneOf}}"{{.}}"{{^-last}}, {{/-last}}{{/oneOf}}]
Expand All @@ -22,7 +22,7 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
{{vendorExtensions.x-py-name}}: {{{vendorExtensions.x-py-typing}}}
{{/composedSchemas.oneOf}}
actual_instance: Optional[Union[{{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}]] = None
one_of_schemas: Set[str] = { {{#oneOf}}"{{.}}"{{^-last}}, {{/-last}}{{/oneOf}} }
one_of_schemas: set[str] = { {{#oneOf}}"{{.}}"{{^-last}}, {{/-last}}{{/oneOf}} }

model_config = ConfigDict(
validate_assignment=True,
Expand All @@ -31,7 +31,7 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}

{{#discriminator}}

discriminator_value_class_map: Dict[str, str] = {
discriminator_value_class_map: dict[str, str] = {
{{#children}}
'{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}': '{{{classname}}}'{{^-last}},{{/-last}}
{{/children}}
Expand Down Expand Up @@ -93,7 +93,7 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
return v

@classmethod
def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
def from_dict(cls, obj: Union[str, dict[str, Any]]) -> Self:
return cls.from_json(json.dumps(obj))

@classmethod
Expand Down Expand Up @@ -185,7 +185,7 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
else:
return json.dumps(self.actual_instance)

def to_dict(self) -> Optional[Union[Dict[str, Any], {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}]]:
def to_dict(self) -> Optional[Union[dict[str, Any], {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}]]:
"""Returns the dict representation of the actual instance"""
if self.actual_instance is None:
return None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
_host_index=_host_index
)

_response_types_map: Dict[str, Optional[str]] = {
_response_types_map: dict[str, Optional[str]] = {
{{#responses}}
{{^isWildcard}}
'{{code}}': {{#dataType}}"{{.}}"{{/dataType}}{{^dataType}}None{{/dataType}},
Expand Down
Loading
Loading