Skip to content

Commit 2f7f776

Browse files
hamshavathimunibyraiahl0lawrence
authored andcommitted
Generating SDK with model renames (Azure#38108)
* Generating SDK with model name updates * Fixing the missed api name change for SDT * Updated the TypeSpec and re-generated the SDK with TranslationStatus id as string * Fixing TranslationIds and DocumentIds renames in patched methods * Updating changelog
1 parent f4f403f commit 2f7f776

21 files changed

+196
-210
lines changed

sdk/translation/azure-ai-translation-document/CHANGELOG.md

+1-6
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,8 @@
22

33
## 1.1.0b2 (Unreleased)
44

5-
### Features Added
6-
7-
### Breaking Changes
8-
9-
### Bugs Fixed
10-
115
### Other Changes
6+
- Renamed SingleDocumentTranslationClient's API from `document_translate` to `translate`
127

138
## 1.1.0b1 (2024-05-21)
149

sdk/translation/azure-ai-translation-document/azure/ai/translation/document/_model_base.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# Licensed under the MIT License. See License.txt in the project root for
66
# license information.
77
# --------------------------------------------------------------------------
8-
# pylint: disable=protected-access, arguments-differ, signature-differs, broad-except, too-many-lines
8+
# pylint: disable=protected-access, broad-except
99

1010
import copy
1111
import calendar
@@ -574,7 +574,7 @@ def __init__(self, *args: typing.Any, **kwargs: typing.Any) -> None:
574574
def copy(self) -> "Model":
575575
return Model(self.__dict__)
576576

577-
def __new__(cls, *args: typing.Any, **kwargs: typing.Any) -> Self: # pylint: disable=unused-argument
577+
def __new__(cls, *args: typing.Any, **kwargs: typing.Any) -> Self:
578578
if f"{cls.__module__}.{cls.__qualname__}" not in cls._calculated:
579579
# we know the last nine classes in mro are going to be 'Model', '_MyMutableMapping', 'MutableMapping',
580580
# 'Mapping', 'Collection', 'Sized', 'Iterable', 'Container' and 'object'
@@ -585,8 +585,8 @@ def __new__(cls, *args: typing.Any, **kwargs: typing.Any) -> Self: # pylint: di
585585
annotations = {
586586
k: v
587587
for mro_class in mros
588-
if hasattr(mro_class, "__annotations__") # pylint: disable=no-member
589-
for k, v in mro_class.__annotations__.items() # pylint: disable=no-member
588+
if hasattr(mro_class, "__annotations__")
589+
for k, v in mro_class.__annotations__.items()
590590
}
591591
for attr, rf in attr_to_rest_field.items():
592592
rf._module = cls.__module__
@@ -601,8 +601,8 @@ def __new__(cls, *args: typing.Any, **kwargs: typing.Any) -> Self: # pylint: di
601601

602602
def __init_subclass__(cls, discriminator: typing.Optional[str] = None) -> None:
603603
for base in cls.__bases__:
604-
if hasattr(base, "__mapping__"): # pylint: disable=no-member
605-
base.__mapping__[discriminator or cls.__name__] = cls # type: ignore # pylint: disable=no-member
604+
if hasattr(base, "__mapping__"):
605+
base.__mapping__[discriminator or cls.__name__] = cls # type: ignore
606606

607607
@classmethod
608608
def _get_discriminator(cls, exist_discriminators) -> typing.Optional["_RestField"]:
@@ -613,7 +613,7 @@ def _get_discriminator(cls, exist_discriminators) -> typing.Optional["_RestField
613613

614614
@classmethod
615615
def _deserialize(cls, data, exist_discriminators):
616-
if not hasattr(cls, "__mapping__"): # pylint: disable=no-member
616+
if not hasattr(cls, "__mapping__"):
617617
return cls(data)
618618
discriminator = cls._get_discriminator(exist_discriminators)
619619
if discriminator is None:
@@ -633,7 +633,7 @@ def _deserialize(cls, data, exist_discriminators):
633633
discriminator_value = data.find(xml_name).text # pyright: ignore
634634
else:
635635
discriminator_value = data.get(discriminator._rest_name)
636-
mapped_cls = cls.__mapping__.get(discriminator_value, cls) # pyright: ignore # pylint: disable=no-member
636+
mapped_cls = cls.__mapping__.get(discriminator_value, cls) # pyright: ignore
637637
return mapped_cls._deserialize(data, exist_discriminators)
638638

639639
def as_dict(self, *, exclude_readonly: bool = False) -> typing.Dict[str, typing.Any]:

sdk/translation/azure-ai-translation-document/azure/ai/translation/document/_operations/_operations.py

+20-20
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def build_document_translation_list_translation_statuses_request( # pylint: dis
8181
top: Optional[int] = None,
8282
skip: Optional[int] = None,
8383
maxpagesize: Optional[int] = None,
84-
ids: Optional[List[str]] = None,
84+
translation_ids: Optional[List[str]] = None,
8585
statuses: Optional[List[str]] = None,
8686
created_date_time_utc_start: Optional[datetime.datetime] = None,
8787
created_date_time_utc_end: Optional[datetime.datetime] = None,
@@ -105,8 +105,8 @@ def build_document_translation_list_translation_statuses_request( # pylint: dis
105105
_params["skip"] = _SERIALIZER.query("skip", skip, "int")
106106
if maxpagesize is not None:
107107
_params["maxpagesize"] = _SERIALIZER.query("maxpagesize", maxpagesize, "int")
108-
if ids is not None:
109-
_params["ids"] = _SERIALIZER.query("ids", ids, "[str]", div=",")
108+
if translation_ids is not None:
109+
_params["ids"] = _SERIALIZER.query("translation_ids", translation_ids, "[str]", div=",")
110110
if statuses is not None:
111111
_params["statuses"] = _SERIALIZER.query("statuses", statuses, "[str]", div=",")
112112
if created_date_time_utc_start is not None:
@@ -211,7 +211,7 @@ def build_document_translation_list_document_statuses_request( # pylint: disabl
211211
top: Optional[int] = None,
212212
skip: Optional[int] = None,
213213
maxpagesize: Optional[int] = None,
214-
ids: Optional[List[str]] = None,
214+
document_ids: Optional[List[str]] = None,
215215
statuses: Optional[List[str]] = None,
216216
created_date_time_utc_start: Optional[datetime.datetime] = None,
217217
created_date_time_utc_end: Optional[datetime.datetime] = None,
@@ -240,8 +240,8 @@ def build_document_translation_list_document_statuses_request( # pylint: disabl
240240
_params["skip"] = _SERIALIZER.query("skip", skip, "int")
241241
if maxpagesize is not None:
242242
_params["maxpagesize"] = _SERIALIZER.query("maxpagesize", maxpagesize, "int")
243-
if ids is not None:
244-
_params["ids"] = _SERIALIZER.query("ids", ids, "[str]", div=",")
243+
if document_ids is not None:
244+
_params["ids"] = _SERIALIZER.query("document_ids", document_ids, "[str]", div=",")
245245
if statuses is not None:
246246
_params["statuses"] = _SERIALIZER.query("statuses", statuses, "[str]", div=",")
247247
if created_date_time_utc_start is not None:
@@ -284,7 +284,7 @@ def build_document_translation_get_supported_formats_request( # pylint: disable
284284
return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
285285

286286

287-
def build_single_document_translation_document_translate_request( # pylint: disable=name-too-long
287+
def build_single_document_translation_translate_request( # pylint: disable=name-too-long
288288
*,
289289
target_language: str,
290290
source_language: Optional[str] = None,
@@ -581,7 +581,7 @@ def list_translation_statuses(
581581
*,
582582
top: Optional[int] = None,
583583
skip: Optional[int] = None,
584-
ids: Optional[List[str]] = None,
584+
translation_ids: Optional[List[str]] = None,
585585
statuses: Optional[List[str]] = None,
586586
created_date_time_utc_start: Optional[datetime.datetime] = None,
587587
created_date_time_utc_end: Optional[datetime.datetime] = None,
@@ -668,8 +668,8 @@ def list_translation_statuses(
668668
server can't honor top and/or skip, the server MUST return an error to the
669669
client informing about it instead of just ignoring the query options. Default value is None.
670670
:paramtype skip: int
671-
:keyword ids: Ids to use in filtering. Default value is None.
672-
:paramtype ids: list[str]
671+
:keyword translation_ids: Ids to use in filtering. Default value is None.
672+
:paramtype translation_ids: list[str]
673673
:keyword statuses: Statuses to use in filtering. Default value is None.
674674
:paramtype statuses: list[str]
675675
:keyword created_date_time_utc_start: the start datetime to get items after. Default value is
@@ -706,7 +706,7 @@ def prepare_request(next_link=None):
706706
top=top,
707707
skip=skip,
708708
maxpagesize=maxpagesize,
709-
ids=ids,
709+
translation_ids=translation_ids,
710710
statuses=statuses,
711711
created_date_time_utc_start=created_date_time_utc_start,
712712
created_date_time_utc_end=created_date_time_utc_end,
@@ -975,7 +975,7 @@ def list_document_statuses(
975975
*,
976976
top: Optional[int] = None,
977977
skip: Optional[int] = None,
978-
ids: Optional[List[str]] = None,
978+
document_ids: Optional[List[str]] = None,
979979
statuses: Optional[List[str]] = None,
980980
created_date_time_utc_start: Optional[datetime.datetime] = None,
981981
created_date_time_utc_end: Optional[datetime.datetime] = None,
@@ -1058,8 +1058,8 @@ def list_document_statuses(
10581058
server can't honor top and/or skip, the server MUST return an error to the
10591059
client informing about it instead of just ignoring the query options. Default value is None.
10601060
:paramtype skip: int
1061-
:keyword ids: Ids to use in filtering. Default value is None.
1062-
:paramtype ids: list[str]
1061+
:keyword document_ids: Ids to use in filtering. Default value is None.
1062+
:paramtype document_ids: list[str]
10631063
:keyword statuses: Statuses to use in filtering. Default value is None.
10641064
:paramtype statuses: list[str]
10651065
:keyword created_date_time_utc_start: the start datetime to get items after. Default value is
@@ -1097,7 +1097,7 @@ def prepare_request(next_link=None):
10971097
top=top,
10981098
skip=skip,
10991099
maxpagesize=maxpagesize,
1100-
ids=ids,
1100+
document_ids=document_ids,
11011101
statuses=statuses,
11021102
created_date_time_utc_start=created_date_time_utc_start,
11031103
created_date_time_utc_end=created_date_time_utc_end,
@@ -1160,7 +1160,7 @@ def get_next(next_link=None):
11601160
return ItemPaged(get_next, extract_data)
11611161

11621162
@distributed_trace
1163-
def _get_supported_formats( # pylint: disable=protected-access
1163+
def _get_supported_formats(
11641164
self, *, type: Optional[Union[str, _models.FileFormatType]] = None, **kwargs: Any
11651165
) -> _models._models.SupportedFileFormats:
11661166
"""Returns a list of supported document formats.
@@ -1235,7 +1235,7 @@ class SingleDocumentTranslationClientOperationsMixin( # pylint: disable=name-to
12351235
):
12361236

12371237
@overload
1238-
def document_translate(
1238+
def translate(
12391239
self,
12401240
body: _models.DocumentTranslateContent,
12411241
*,
@@ -1279,7 +1279,7 @@ def document_translate(
12791279
"""
12801280

12811281
@overload
1282-
def document_translate(
1282+
def translate(
12831283
self,
12841284
body: JSON,
12851285
*,
@@ -1323,7 +1323,7 @@ def document_translate(
13231323
"""
13241324

13251325
@distributed_trace
1326-
def document_translate(
1326+
def translate(
13271327
self,
13281328
body: Union[_models.DocumentTranslateContent, JSON],
13291329
*,
@@ -1384,7 +1384,7 @@ def document_translate(
13841384
_data_fields: List[str] = []
13851385
_files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields)
13861386

1387-
_request = build_single_document_translation_document_translate_request(
1387+
_request = build_single_document_translation_translate_request(
13881388
target_language=target_language,
13891389
source_language=source_language,
13901390
category=category,

sdk/translation/azure-ai-translation-document/azure/ai/translation/document/_operations/_patch.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
SingleDocumentTranslationClientOperationsMixin as GeneratedSingleDocumentTranslationClientOperationsMixin,
4444
JSON,
4545
ClsType,
46-
build_single_document_translation_document_translate_request,
46+
build_single_document_translation_translate_request,
4747
)
4848

4949
from .._vendor import prepare_multipart_form_data
@@ -336,7 +336,7 @@ class SingleDocumentTranslationClientOperationsMixin(
336336
): # pylint: disable=name-too-long
337337

338338
@overload
339-
def document_translate(
339+
def translate(
340340
self,
341341
body: _models.DocumentTranslateContent,
342342
*,
@@ -389,7 +389,7 @@ def document_translate(
389389
"""
390390

391391
@overload
392-
def document_translate(
392+
def translate(
393393
self,
394394
body: JSON,
395395
*,
@@ -433,7 +433,7 @@ def document_translate(
433433
"""
434434

435435
@distributed_trace
436-
def document_translate(
436+
def translate(
437437
self,
438438
body: Union[_models.DocumentTranslateContent, JSON],
439439
*,
@@ -502,7 +502,7 @@ def document_translate(
502502
_data_fields: List[str] = []
503503
_files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields)
504504

505-
_request = build_single_document_translation_document_translate_request(
505+
_request = build_single_document_translation_translate_request(
506506
target_language=target_language,
507507
source_language=source_language,
508508
category=category,

sdk/translation/azure-ai-translation-document/azure/ai/translation/document/_patch.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from ._operations._patch import DocumentTranslationLROPoller, DocumentTranslationLROPollingMethod, TranslationPolling
2020
from ._client import DocumentTranslationClient as GeneratedDocumentTranslationClient
2121
from .models import (
22-
BatchRequest,
22+
DocumentBatch,
2323
SourceInput,
2424
TranslationTarget,
2525
DocumentFilter,
@@ -107,7 +107,7 @@ def get_translation_input(args, kwargs, continuation_token):
107107

108108
request = StartTranslationDetails(
109109
inputs=[
110-
BatchRequest(
110+
DocumentBatch(
111111
source=SourceInput(
112112
source_url=source_url,
113113
filter=DocumentFilter(prefix=prefix, suffix=suffix),
@@ -552,7 +552,7 @@ def list_translation_statuses(
552552
super().list_translation_statuses(
553553
created_date_time_utc_start=created_after,
554554
created_date_time_utc_end=created_before,
555-
ids=translation_ids,
555+
translation_ids=translation_ids,
556556
orderby=order_by,
557557
statuses=statuses,
558558
top=top,
@@ -620,7 +620,7 @@ def list_document_statuses( # type: ignore[override]
620620
translation_id=translation_id,
621621
created_date_time_utc_start=created_after,
622622
created_date_time_utc_end=created_before,
623-
ids=document_ids,
623+
document_ids=document_ids,
624624
orderby=order_by,
625625
statuses=statuses,
626626
top=top,

sdk/translation/azure-ai-translation-document/azure/ai/translation/document/_serialization.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# pylint: disable=too-many-lines
12
# --------------------------------------------------------------------------
23
#
34
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -506,7 +507,6 @@ def _flatten_subtype(cls, key, objects):
506507
def _classify(cls, response, objects):
507508
"""Check the class _subtype_map for any child classes.
508509
We want to ignore any inherited _subtype_maps.
509-
Remove the polymorphic key from the initial data.
510510
511511
:param dict response: The initial data
512512
:param dict objects: The class objects
@@ -518,7 +518,7 @@ def _classify(cls, response, objects):
518518

519519
if not isinstance(response, ET.Element):
520520
rest_api_response_key = cls._get_rest_key_parts(subtype_key)[-1]
521-
subtype_value = response.pop(rest_api_response_key, None) or response.pop(subtype_key, None)
521+
subtype_value = response.get(rest_api_response_key, None) or response.get(subtype_key, None)
522522
else:
523523
subtype_value = xml_key_extractor(subtype_key, cls._attribute_map[subtype_key], response)
524524
if subtype_value:

0 commit comments

Comments
 (0)