Skip to content

Commit dde54e1

Browse files
[translation] filters renames/alignment (Azure#19826)
* align with .net naming and map order_by query string to property name * update tests and re-enable mixed filters tests * update changelog * fix type hint
1 parent 865065c commit dde54e1

10 files changed

+3612
-83
lines changed

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@
66

77
### Breaking Changes
88

9+
- Changed: renamed kwargs `translated_before` and `translated_after` to `created_before` and `created_after`, respectively,
10+
for `list_all_document_statuses`.
11+
- Changed: renamed `order_by` sorting query option `createdDateTimeUtc` to `created_on` for `list_all_translation_statuses` and
12+
`list_all_document_statuses`.
13+
914
### Bugs Fixed
1015

1116
### Other Changes

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

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from ._helpers import (
2222
get_http_logging_policy,
2323
convert_datetime,
24+
convert_order_by,
2425
get_authentication_policy,
2526
get_translation_input,
2627
POLLING_INTERVAL,
@@ -231,14 +232,17 @@ def list_all_translation_statuses(self, **kwargs):
231232
By default, we sort by all submitted operations descendingly by start time.
232233
:keyword int results_per_page: is the number of operations returned per page.
233234
:keyword list[str] translation_ids: translation operations ids to filter by.
234-
:keyword list[str] statuses: translation operation statuses to filter by.
235+
:keyword list[str] statuses: translation operation statuses to filter by. Options include
236+
'NotStarted', 'Running', 'Succeeded', 'Failed', 'Cancelled', 'Cancelling',
237+
and 'ValidationFailed'.
235238
:keyword created_after: get operations created after certain datetime.
236239
:paramtype created_after: Union[str, datetime.datetime]
237240
:keyword created_before: get operations created before certain datetime.
238241
:paramtype created_before: Union[str, datetime.datetime]
239-
:keyword list[str] order_by: the sorting query for the operations returned.
240-
format: ["parm1 asc/desc", "parm2 asc/desc", ...]
241-
(ex: 'createdDateTimeUtc asc', 'createdDateTimeUtc desc').
242+
:keyword list[str] order_by: the sorting query for the operations returned. Currently only
243+
'created_on' supported.
244+
format: ["param1 asc/desc", "param2 asc/desc", ...]
245+
(ex: 'created_on asc', 'created_on desc').
242246
:return: A pageable of TranslationStatus.
243247
:rtype: ~azure.core.paging.ItemPaged[TranslationStatus]
244248
:raises ~azure.core.exceptions.HttpResponseError:
@@ -252,6 +256,8 @@ def list_all_translation_statuses(self, **kwargs):
252256
:dedent: 4
253257
:caption: List all submitted translations under the resource.
254258
"""
259+
260+
order_by = convert_order_by(kwargs.pop("order_by", None))
255261
created_after = kwargs.pop("created_after", None)
256262
created_before = kwargs.pop("created_before", None)
257263
created_after = convert_datetime(created_after) if created_after else None
@@ -279,6 +285,7 @@ def _convert_from_generated_model(
279285
created_date_time_utc_start=created_after,
280286
created_date_time_utc_end=created_before,
281287
ids=translation_ids,
288+
order_by=order_by,
282289
**kwargs
283290
)
284291

@@ -293,14 +300,17 @@ def list_all_document_statuses(self, translation_id, **kwargs):
293300
By default, we sort by all documents descendingly by start time.
294301
:keyword int results_per_page: is the number of documents returned per page.
295302
:keyword list[str] document_ids: document IDs to filter by.
296-
:keyword list[str] statuses: document statuses to filter by.
297-
:keyword translated_after: get document translated after certain datetime.
298-
:paramtype translated_after: Union[str, datetime.datetime]
299-
:keyword translated_before: get document translated before certain datetime.
300-
:paramtype translated_before: Union[str, datetime.datetime]
301-
:keyword list[str] order_by: the sorting query for the documents.
302-
format: ["parm1 asc/desc", "parm2 asc/desc", ...]
303-
(ex: 'createdDateTimeUtc asc', 'createdDateTimeUtc desc').
303+
:keyword list[str] statuses: document statuses to filter by. Options include
304+
'NotStarted', 'Running', 'Succeeded', 'Failed', 'Cancelled', 'Cancelling',
305+
and 'ValidationFailed'.
306+
:keyword created_after: get document created after certain datetime.
307+
:paramtype created_after: Union[str, datetime.datetime]
308+
:keyword created_before: get document created before certain datetime.
309+
:paramtype created_before: Union[str, datetime.datetime]
310+
:keyword list[str] order_by: the sorting query for the documents. Currently only
311+
'created_on' is supported.
312+
format: ["param1 asc/desc", "param2 asc/desc", ...]
313+
(ex: 'created_on asc', 'created_on desc').
304314
:return: A pageable of DocumentStatus.
305315
:rtype: ~azure.core.paging.ItemPaged[DocumentStatus]
306316
:raises ~azure.core.exceptions.HttpResponseError:
@@ -314,13 +324,15 @@ def list_all_document_statuses(self, translation_id, **kwargs):
314324
:dedent: 4
315325
:caption: List all the document statuses as they are being translated.
316326
"""
317-
translated_after = kwargs.pop("translated_after", None)
318-
translated_before = kwargs.pop("translated_before", None)
319-
translated_after = (
320-
convert_datetime(translated_after) if translated_after else None
327+
328+
order_by = convert_order_by(kwargs.pop("order_by", None))
329+
created_after = kwargs.pop("created_after", None)
330+
created_before = kwargs.pop("created_before", None)
331+
created_after = (
332+
convert_datetime(created_after) if created_after else None
321333
)
322-
translated_before = (
323-
convert_datetime(translated_before) if translated_before else None
334+
created_before = (
335+
convert_datetime(created_before) if created_before else None
324336
)
325337
results_per_page = kwargs.pop("results_per_page", None)
326338
document_ids = kwargs.pop("document_ids", None)
@@ -341,9 +353,10 @@ def _convert_from_generated_model(generated_model):
341353
id=translation_id,
342354
cls=model_conversion_function,
343355
maxpagesize=results_per_page,
344-
created_date_time_utc_start=translated_after,
345-
created_date_time_utc_end=translated_before,
356+
created_date_time_utc_start=created_after,
357+
created_date_time_utc_end=created_before,
346358
ids=document_ids,
359+
order_by=order_by,
347360
**kwargs
348361
)
349362

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# ------------------------------------
66

77
import datetime
8-
from typing import Union
8+
from typing import Union, Optional, List
99
import six
1010
from azure.core.credentials import AzureKeyCredential
1111
from azure.core.pipeline.policies import AzureKeyCredentialPolicy
@@ -123,3 +123,10 @@ def convert_datetime(date_time):
123123
except ValueError:
124124
return datetime.datetime.strptime(date_time, "%Y-%m-%d %H:%M:%S")
125125
raise TypeError("Bad datetime type")
126+
127+
128+
def convert_order_by(order_by):
129+
# type: (Optional[List[str]]) -> Optional[List[str]]
130+
if order_by:
131+
order_by = [order.replace("created_on", "createdDateTimeUtc") for order in order_by]
132+
return order_by

sdk/translation/azure-ai-translation-document/azure/ai/translation/document/aio/_client_async.py

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from .._helpers import (
2323
get_http_logging_policy,
2424
convert_datetime,
25+
convert_order_by,
2526
get_authentication_policy,
2627
get_translation_input,
2728
POLLING_INTERVAL,
@@ -243,14 +244,17 @@ def list_all_translation_statuses(self, **kwargs):
243244
By default, we sort by all submitted operations descendingly by start time.
244245
:keyword int results_per_page: is the number of operations returned per page.
245246
:keyword list[str] translation_ids: translation operations ids to filter by.
246-
:keyword list[str] statuses: translation operation statuses to filter by.
247+
:keyword list[str] statuses: translation operation statuses to filter by. Options include
248+
'NotStarted', 'Running', 'Succeeded', 'Failed', 'Cancelled', 'Cancelling',
249+
and 'ValidationFailed'.
247250
:keyword created_after: get operations created after certain datetime.
248251
:paramtype created_after: Union[str, datetime.datetime]
249252
:keyword created_before: get operations created before certain datetime.
250253
:paramtype created_before: Union[str, datetime.datetime]
251-
:keyword list[str] order_by: the sorting query for the operations returned.
252-
format: ["parm1 asc/desc", "parm2 asc/desc", ...]
253-
(ex: 'createdDateTimeUtc asc', 'createdDateTimeUtc desc').
254+
:keyword list[str] order_by: the sorting query for the operations returned. Currently only
255+
'created_on' supported.
256+
format: ["param1 asc/desc", "param2 asc/desc", ...]
257+
(ex: 'created_on asc', 'created_on desc').
254258
:return: A pageable of TranslationStatus.
255259
:rtype: ~azure.core.paging.ItemPaged[TranslationStatus]
256260
:raises ~azure.core.exceptions.HttpResponseError:
@@ -265,6 +269,7 @@ def list_all_translation_statuses(self, **kwargs):
265269
:caption: List all submitted translations under the resource.
266270
"""
267271

272+
order_by = convert_order_by(kwargs.pop("order_by", None))
268273
created_after = kwargs.pop("created_after", None)
269274
created_before = kwargs.pop("created_before", None)
270275
created_after = convert_datetime(created_after) if created_after else None
@@ -289,6 +294,7 @@ def _convert_from_generated_model(generated_model):
289294
created_date_time_utc_start=created_after,
290295
created_date_time_utc_end=created_before,
291296
ids=translation_ids,
297+
order_by=order_by,
292298
**kwargs
293299
)
294300

@@ -303,14 +309,17 @@ def list_all_document_statuses(self, translation_id, **kwargs):
303309
By default, we sort by all documents descendingly by start time.
304310
:keyword int results_per_page: is the number of documents returned per page.
305311
:keyword list[str] document_ids: document IDs to filter by.
306-
:keyword list[str] statuses: document statuses to filter by.
307-
:keyword translated_after: get document translated after certain datetime.
308-
:paramtype translated_after: Union[str, datetime.datetime]
309-
:keyword translated_before: get document translated before certain datetime.
310-
:paramtype translated_before: Union[str, datetime.datetime]
311-
:keyword list[str] order_by: the sorting query for the documents.
312-
format: ["parm1 asc/desc", "parm2 asc/desc", ...]
313-
(ex: 'createdDateTimeUtc asc', 'createdDateTimeUtc desc').
312+
:keyword list[str] statuses: document statuses to filter by. Options include
313+
'NotStarted', 'Running', 'Succeeded', 'Failed', 'Cancelled', 'Cancelling',
314+
and 'ValidationFailed'.
315+
:keyword created_after: get document created after certain datetime.
316+
:paramtype created_after: Union[str, datetime.datetime]
317+
:keyword created_before: get document created before certain datetime.
318+
:paramtype created_before: Union[str, datetime.datetime]
319+
:keyword list[str] order_by: the sorting query for the documents. Currently only
320+
'created_on' is supported.
321+
format: ["param1 asc/desc", "param2 asc/desc", ...]
322+
(ex: 'created_on asc', 'created_on desc').
314323
:return: A pageable of DocumentStatus.
315324
:rtype: ~azure.core.paging.ItemPaged[DocumentStatus]
316325
:raises ~azure.core.exceptions.HttpResponseError:
@@ -324,13 +333,15 @@ def list_all_document_statuses(self, translation_id, **kwargs):
324333
:dedent: 4
325334
:caption: List all the document statuses as they are being translated.
326335
"""
327-
translated_after = kwargs.pop("translated_after", None)
328-
translated_before = kwargs.pop("translated_before", None)
329-
translated_after = (
330-
convert_datetime(translated_after) if translated_after else None
336+
337+
order_by = convert_order_by(kwargs.pop("order_by", None))
338+
created_after = kwargs.pop("created_after", None)
339+
created_before = kwargs.pop("created_before", None)
340+
created_after = (
341+
convert_datetime(created_after) if created_after else None
331342
)
332-
translated_before = (
333-
convert_datetime(translated_before) if translated_before else None
343+
created_before = (
344+
convert_datetime(created_before) if created_before else None
334345
)
335346
results_per_page = kwargs.pop("results_per_page", None)
336347
document_ids = kwargs.pop("document_ids", None)
@@ -350,9 +361,10 @@ def _convert_from_generated_model(generated_model):
350361
id=translation_id,
351362
cls=model_conversion_function,
352363
maxpagesize=results_per_page,
353-
created_date_time_utc_start=translated_after,
354-
created_date_time_utc_end=translated_before,
364+
created_date_time_utc_start=created_after,
365+
created_date_time_utc_end=created_before,
355366
ids=document_ids,
367+
order_by=order_by,
356368
**kwargs
357369
)
358370

0 commit comments

Comments
 (0)