@autorest/python 5.10.0 → 5.12.0

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 (57) hide show
  1. package/ChangeLog.md +74 -0
  2. package/autorest/codegen/__init__.py +7 -7
  3. package/autorest/codegen/models/__init__.py +2 -1
  4. package/autorest/codegen/models/base_builder.py +16 -8
  5. package/autorest/codegen/models/client.py +5 -3
  6. package/autorest/codegen/models/code_model.py +19 -5
  7. package/autorest/codegen/models/imports.py +7 -0
  8. package/autorest/codegen/models/lro_operation.py +7 -3
  9. package/autorest/codegen/models/object_schema.py +3 -3
  10. package/autorest/codegen/models/operation.py +69 -38
  11. package/autorest/codegen/models/operation_group.py +13 -8
  12. package/autorest/codegen/models/paging_operation.py +5 -2
  13. package/autorest/codegen/models/parameter.py +46 -13
  14. package/autorest/codegen/models/parameter_list.py +62 -70
  15. package/autorest/codegen/models/primitive_schemas.py +11 -0
  16. package/autorest/codegen/models/request_builder.py +21 -8
  17. package/autorest/codegen/models/request_builder_parameter.py +9 -5
  18. package/autorest/codegen/models/request_builder_parameter_list.py +179 -77
  19. package/autorest/codegen/models/rest.py +3 -2
  20. package/autorest/codegen/models/schema_request.py +4 -17
  21. package/autorest/codegen/models/schema_response.py +4 -4
  22. package/autorest/codegen/serializers/__init__.py +57 -53
  23. package/autorest/codegen/serializers/builder_serializer.py +76 -46
  24. package/autorest/codegen/serializers/client_serializer.py +37 -9
  25. package/autorest/codegen/serializers/general_serializer.py +7 -5
  26. package/autorest/codegen/serializers/import_serializer.py +22 -7
  27. package/autorest/codegen/serializers/metadata_serializer.py +2 -2
  28. package/autorest/codegen/serializers/model_base_serializer.py +3 -3
  29. package/autorest/codegen/serializers/model_generic_serializer.py +1 -1
  30. package/autorest/codegen/serializers/model_python3_serializer.py +1 -1
  31. package/autorest/codegen/serializers/operation_groups_serializer.py +70 -0
  32. package/autorest/codegen/serializers/operations_init_serializer.py +34 -2
  33. package/autorest/codegen/serializers/patch_serializer.py +15 -0
  34. package/autorest/codegen/serializers/rest_serializer.py +9 -4
  35. package/autorest/codegen/serializers/utils.py +2 -2
  36. package/autorest/codegen/templates/config.py.jinja2 +1 -11
  37. package/autorest/codegen/templates/init.py.jinja2 +4 -7
  38. package/autorest/codegen/templates/metadata.json.jinja2 +2 -2
  39. package/autorest/codegen/templates/model_init.py.jinja2 +1 -1
  40. package/autorest/codegen/templates/{operations_class.py.jinja2 → operation_group.py.jinja2} +2 -0
  41. package/autorest/codegen/templates/operation_groups_container.py.jinja2 +26 -0
  42. package/autorest/codegen/templates/operation_tools.jinja2 +7 -0
  43. package/autorest/codegen/templates/operations_folder_init.py.jinja2 +13 -0
  44. package/autorest/codegen/templates/patch.py.jinja2 +31 -0
  45. package/autorest/codegen/templates/request_builder.py.jinja2 +7 -2
  46. package/autorest/codegen/templates/request_builders.py.jinja2 +3 -3
  47. package/autorest/codegen/templates/setup.py.jinja2 +1 -1
  48. package/autorest/multiapi/serializers/__init__.py +3 -3
  49. package/autorest/multiapi/serializers/import_serializer.py +5 -5
  50. package/autorest/namer/name_converter.py +48 -3
  51. package/package.json +2 -2
  52. package/setup.py +1 -0
  53. package/autorest/codegen/serializers/operation_group_serializer.py +0 -71
  54. package/autorest/codegen/templates/operations_class_mixin.py.jinja2 +0 -16
  55. package/autorest/codegen/templates/operations_container.py.jinja2 +0 -42
  56. package/autorest/codegen/templates/operations_container_init.py.jinja2 +0 -24
  57. package/autorest/codegen/templates/operations_container_mixin.py.jinja2 +0 -23
@@ -1,24 +0,0 @@
1
- {% macro operation_group_imports(filename_suffix="") %}
2
- {% for operation_group in operation_groups %}
3
- from .{{ ("_operations" if code_model.options['combine_operation_files'] else operation_group.filename) + filename_suffix }} import {{ operation_group.class_name }}
4
- {% endfor %}
5
- {% endmacro %}
6
- {# actual template starts here #}
7
- # coding=utf-8
8
- {{ code_model.options['license_header'] }}
9
-
10
- {% if not code_model.options["add_python_3_operation_files"] %}
11
- {{ operation_group_imports() }}
12
- {% elif code_model.options["add_python_3_operation_files"] and code_model.options["python_3_only"] %}
13
- {{ operation_group_imports("_py3") }}
14
- {% else %}
15
- try:
16
- {{ operation_group_imports("_py3") | indent }}
17
- except (SyntaxError, ImportError):
18
- {{ operation_group_imports() | indent }}
19
- {% endif %}
20
- __all__ = [
21
- {% for operation_group in operation_groups %}
22
- '{{ operation_group.class_name }}',
23
- {% endfor %}
24
- ]
@@ -1,23 +0,0 @@
1
- {% set object_base_class = "" if async_mode else "(object)" %}
2
- {% set operation_group = operation_groups[0] %}
3
- # coding=utf-8
4
- {{ code_model.options['license_header'] }}
5
- {{ imports }}
6
-
7
- {{ " " if not is_python_3_file }}T = TypeVar('T')
8
- {{ " " if not is_python_3_file }}ClsType = Optional[Callable[[PipelineResponse[HttpRequest, {{ "Async" if async_mode else "" }}HttpResponse], T, Dict[str, Any]], Any]]
9
-
10
- {% if code_model.options["builders_visibility"] == "embedded" and not async_mode %}
11
- _SERIALIZER = Serializer()
12
- {% if not is_python_3_file %}
13
- # fmt: off
14
- {% endif %}
15
- {% for request_builder in code_model.rest.request_builders | selectattr("builder_group_name", "equalto", "") %}
16
-
17
- {% include "request_builder.py.jinja2" %}
18
- {% endfor %}
19
- {% if not is_python_3_file %}
20
- # fmt: on
21
- {% endif %}
22
- {% endif %}
23
- {% include "operations_class_mixin.py.jinja2" %}