@autorest/python 6.9.3 → 6.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/autorest/_utils.py +35 -20
  2. package/autorest/codegen/__init__.py +252 -133
  3. package/autorest/codegen/_utils.py +2 -2
  4. package/autorest/codegen/models/__init__.py +7 -7
  5. package/autorest/codegen/models/base.py +6 -4
  6. package/autorest/codegen/models/client.py +34 -28
  7. package/autorest/codegen/models/combined_type.py +1 -1
  8. package/autorest/codegen/models/constant_type.py +1 -1
  9. package/autorest/codegen/models/credential_types.py +33 -23
  10. package/autorest/codegen/models/dictionary_type.py +1 -1
  11. package/autorest/codegen/models/enum_type.py +2 -2
  12. package/autorest/codegen/models/imports.py +77 -8
  13. package/autorest/codegen/models/list_type.py +1 -1
  14. package/autorest/codegen/models/lro_operation.py +5 -2
  15. package/autorest/codegen/models/model_type.py +1 -1
  16. package/autorest/codegen/models/operation.py +26 -18
  17. package/autorest/codegen/models/operation_group.py +2 -2
  18. package/autorest/codegen/models/paging_operation.py +13 -5
  19. package/autorest/codegen/models/parameter.py +1 -1
  20. package/autorest/codegen/models/primitive_types.py +27 -28
  21. package/autorest/codegen/models/property.py +3 -1
  22. package/autorest/codegen/models/request_builder.py +11 -10
  23. package/autorest/codegen/models/response.py +26 -14
  24. package/autorest/codegen/serializers/__init__.py +5 -0
  25. package/autorest/codegen/serializers/base_serializer.py +21 -0
  26. package/autorest/codegen/serializers/builder_serializer.py +39 -22
  27. package/autorest/codegen/serializers/client_serializer.py +20 -5
  28. package/autorest/codegen/serializers/enum_serializer.py +5 -8
  29. package/autorest/codegen/serializers/general_serializer.py +22 -27
  30. package/autorest/codegen/serializers/model_serializer.py +8 -10
  31. package/autorest/codegen/serializers/operation_groups_serializer.py +4 -5
  32. package/autorest/codegen/serializers/patch_serializer.py +4 -8
  33. package/autorest/codegen/serializers/request_builders_serializer.py +4 -4
  34. package/autorest/codegen/serializers/sample_serializer.py +11 -9
  35. package/autorest/codegen/serializers/types_serializer.py +3 -8
  36. package/autorest/codegen/templates/config.py.jinja2 +3 -1
  37. package/autorest/codegen/templates/enum_container.py.jinja2 +1 -1
  38. package/autorest/codegen/templates/model_base.py.jinja2 +5 -5
  39. package/autorest/codegen/templates/packaging_templates/LICENSE.jinja2 +1 -1
  40. package/autorest/codegen/templates/packaging_templates/README.md.jinja2 +3 -1
  41. package/autorest/codegen/templates/packaging_templates/setup.py.jinja2 +7 -3
  42. package/autorest/codegen/templates/serialization.py.jinja2 +17 -18
  43. package/autorest/jsonrpc/server.py +5 -1
  44. package/autorest/m4reformatter/__init__.py +1 -1
  45. package/autorest/multiapi/models/imports.py +18 -16
  46. package/autorest/multiapi/serializers/__init__.py +4 -1
  47. package/autorest/preprocess/__init__.py +1 -9
  48. package/package.json +1 -1
@@ -41,7 +41,7 @@ def get_body_parameter(yaml_data: Dict[str, Any]) -> Dict[str, Any]:
41
41
  def get_azure_key_credential(key: str) -> Dict[str, Any]:
42
42
  retval = {
43
43
  "type": KEY_TYPE,
44
- "policy": {"type": "AzureKeyCredentialPolicy", "key": key},
44
+ "policy": {"type": "KeyCredentialPolicy", "key": key},
45
45
  }
46
46
  update_type(retval)
47
47
  return retval
@@ -4,14 +4,14 @@
4
4
  # license information.
5
5
  # --------------------------------------------------------------------------
6
6
  from enum import Enum
7
- from typing import Dict, Optional, Set, Union, Tuple
7
+ from typing import Dict, Optional, Set, Union, Tuple, cast
8
8
  from ..utils import convert_list_to_tuple
9
9
 
10
10
 
11
11
  class ImportType(str, Enum):
12
12
  STDLIB = "stdlib"
13
13
  THIRDPARTY = "thirdparty"
14
- AZURECORE = "azurecore"
14
+ SDKCORE = "sdkcore"
15
15
  LOCAL = "local"
16
16
  BYVERSION = "by_version"
17
17
 
@@ -108,21 +108,23 @@ class FileImport:
108
108
  ] = None,
109
109
  typing_section: TypingSection = TypingSection.REGULAR,
110
110
  ) -> None:
111
- name_input: Optional[
112
- Union[
113
- str,
114
- Tuple[
111
+ name_input = cast(
112
+ Optional[
113
+ Union[
115
114
  str,
116
- str,
117
- ],
118
- Tuple[
119
- str,
120
- Optional[str],
121
- Tuple[Tuple[Tuple[int, int], str, Optional[str]]],
122
- ],
123
- ]
124
- ] = None
125
- name_input = convert_list_to_tuple(name_import)
115
+ Tuple[
116
+ str,
117
+ str,
118
+ ],
119
+ Tuple[
120
+ str,
121
+ Optional[str],
122
+ Tuple[Tuple[Tuple[int, int], str, Optional[str]]],
123
+ ],
124
+ ]
125
+ ],
126
+ convert_list_to_tuple(name_import),
127
+ )
126
128
  self._imports.setdefault(typing_section, {}).setdefault(
127
129
  import_type, {}
128
130
  ).setdefault(from_section, set()).add(name_input)
@@ -149,7 +149,10 @@ class MultiAPISerializer(ReaderAndWriter): # pylint: disable=abstract-method
149
149
  )
150
150
  self.write_file(
151
151
  Path("_serialization.py"),
152
- codegen_env.get_template("serialization.py.jinja2").render(),
152
+ codegen_env.get_template("serialization.py.jinja2").render(
153
+ import_core_exceptions="azure.core.exceptions",
154
+ import_core_serialization="azure.core.serialization",
155
+ ),
153
156
  )
154
157
 
155
158
 
@@ -160,10 +160,6 @@ def update_operation_group_class_name(
160
160
 
161
161
  def update_paging_response(yaml_data: Dict[str, Any]) -> None:
162
162
  yaml_data["discriminator"] = "paging"
163
- yaml_data["pagerSync"] = yaml_data.get("pagerSync") or "azure.core.paging.ItemPaged"
164
- yaml_data["pagerAsync"] = (
165
- yaml_data.get("pagerAsync") or "azure.core.async_paging.AsyncItemPaged"
166
- )
167
163
 
168
164
 
169
165
  HEADERS_HIDE_IN_METHOD = (
@@ -184,7 +180,7 @@ HEADERS_CONVERT_IN_METHOD = {
184
180
  "wireName": "match-condition",
185
181
  "description": "The match condition to use upon the etag.",
186
182
  "type": {
187
- "type": "azurecore",
183
+ "type": "sdkcore",
188
184
  "name": "MatchConditions",
189
185
  },
190
186
  },
@@ -489,10 +485,6 @@ class PreProcessPlugin(YamlUpdatePlugin): # pylint: disable=abstract-method
489
485
  item_type: Optional[Dict[str, Any]] = None,
490
486
  ) -> None:
491
487
  self.update_operation(code_model, yaml_data, is_overload=is_overload)
492
- if not yaml_data.get("pagerSync"):
493
- yaml_data["pagerSync"] = "azure.core.paging.ItemPaged"
494
- if not yaml_data.get("pagerAsync"):
495
- yaml_data["pagerAsync"] = "azure.core.async_paging.AsyncItemPaged"
496
488
  item_type = item_type or yaml_data["itemType"]["elementType"]
497
489
  if yaml_data.get("nextOperation"):
498
490
  yaml_data["nextOperation"]["groupName"] = self.pad_reserved_words(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autorest/python",
3
- "version": "6.9.3",
3
+ "version": "6.9.5",
4
4
  "description": "The Python extension for generators in AutoRest.",
5
5
  "main": "index.js",
6
6
  "repository": {