Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions sdk/translation/azure-ai-translation-document/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@

### Breaking Changes

- Changed: renamed kwargs `translated_before` and `translated_after` to `created_before` and `created_after`, respectively,
for `list_all_document_statuses`.
- Changed: renamed `order_by` sorting query option `createdDateTimeUtc` to `created_on` for `list_all_translation_statuses` and
`list_all_document_statuses`.

### Bugs Fixed

### Other Changes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
from ._helpers import (
get_http_logging_policy,
convert_datetime,
convert_order_by,
get_authentication_policy,
get_translation_input,
POLLING_INTERVAL,
Expand Down Expand Up @@ -231,14 +232,17 @@ def list_all_translation_statuses(self, **kwargs):
By default, we sort by all submitted operations descendingly by start time.
:keyword int results_per_page: is the number of operations returned per page.
:keyword list[str] translation_ids: translation operations ids to filter by.
:keyword list[str] statuses: translation operation statuses to filter by.
:keyword list[str] statuses: translation operation statuses to filter by. Options include
'NotStarted', 'Running', 'Succeeded', 'Failed', 'Cancelled', 'Cancelling',
and 'ValidationFailed'.
:keyword created_after: get operations created after certain datetime.
:paramtype created_after: Union[str, datetime.datetime]
:keyword created_before: get operations created before certain datetime.
:paramtype created_before: Union[str, datetime.datetime]
:keyword list[str] order_by: the sorting query for the operations returned.
format: ["parm1 asc/desc", "parm2 asc/desc", ...]
(ex: 'createdDateTimeUtc asc', 'createdDateTimeUtc desc').
:keyword list[str] order_by: the sorting query for the operations returned. Currently only
'created_on' supported.
format: ["param1 asc/desc", "param2 asc/desc", ...]
(ex: 'created_on asc', 'created_on desc').
:return: A pageable of TranslationStatus.
:rtype: ~azure.core.paging.ItemPaged[TranslationStatus]
:raises ~azure.core.exceptions.HttpResponseError:
Expand All @@ -252,6 +256,8 @@ def list_all_translation_statuses(self, **kwargs):
:dedent: 4
:caption: List all submitted translations under the resource.
"""

order_by = convert_order_by(kwargs.pop("order_by", None))
created_after = kwargs.pop("created_after", None)
created_before = kwargs.pop("created_before", None)
created_after = convert_datetime(created_after) if created_after else None
Expand Down Expand Up @@ -279,6 +285,7 @@ def _convert_from_generated_model(
created_date_time_utc_start=created_after,
created_date_time_utc_end=created_before,
ids=translation_ids,
order_by=order_by,
**kwargs
)

Expand All @@ -293,14 +300,17 @@ def list_all_document_statuses(self, translation_id, **kwargs):
By default, we sort by all documents descendingly by start time.
:keyword int results_per_page: is the number of documents returned per page.
:keyword list[str] document_ids: document IDs to filter by.
:keyword list[str] statuses: document statuses to filter by.
:keyword translated_after: get document translated after certain datetime.
:paramtype translated_after: Union[str, datetime.datetime]
:keyword translated_before: get document translated before certain datetime.
:paramtype translated_before: Union[str, datetime.datetime]
:keyword list[str] order_by: the sorting query for the documents.
format: ["parm1 asc/desc", "parm2 asc/desc", ...]
(ex: 'createdDateTimeUtc asc', 'createdDateTimeUtc desc').
:keyword list[str] statuses: document statuses to filter by. Options include
'NotStarted', 'Running', 'Succeeded', 'Failed', 'Cancelled', 'Cancelling',
and 'ValidationFailed'.
:keyword created_after: get document created after certain datetime.
:paramtype created_after: Union[str, datetime.datetime]
:keyword created_before: get document created before certain datetime.
:paramtype created_before: Union[str, datetime.datetime]
:keyword list[str] order_by: the sorting query for the documents. Currently only
'created_on' is supported.
format: ["param1 asc/desc", "param2 asc/desc", ...]
(ex: 'created_on asc', 'created_on desc').
:return: A pageable of DocumentStatus.
:rtype: ~azure.core.paging.ItemPaged[DocumentStatus]
:raises ~azure.core.exceptions.HttpResponseError:
Expand All @@ -314,13 +324,15 @@ def list_all_document_statuses(self, translation_id, **kwargs):
:dedent: 4
:caption: List all the document statuses as they are being translated.
"""
translated_after = kwargs.pop("translated_after", None)
translated_before = kwargs.pop("translated_before", None)
translated_after = (
convert_datetime(translated_after) if translated_after else None

order_by = convert_order_by(kwargs.pop("order_by", None))
created_after = kwargs.pop("created_after", None)
created_before = kwargs.pop("created_before", None)
created_after = (
convert_datetime(created_after) if created_after else None
)
translated_before = (
convert_datetime(translated_before) if translated_before else None
created_before = (
convert_datetime(created_before) if created_before else None
)
results_per_page = kwargs.pop("results_per_page", None)
document_ids = kwargs.pop("document_ids", None)
Expand All @@ -341,9 +353,10 @@ def _convert_from_generated_model(generated_model):
id=translation_id,
cls=model_conversion_function,
maxpagesize=results_per_page,
created_date_time_utc_start=translated_after,
created_date_time_utc_end=translated_before,
created_date_time_utc_start=created_after,
created_date_time_utc_end=created_before,
ids=document_ids,
order_by=order_by,
**kwargs
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# ------------------------------------

import datetime
from typing import Union
from typing import Union, Optional, List
import six
from azure.core.credentials import AzureKeyCredential
from azure.core.pipeline.policies import AzureKeyCredentialPolicy
Expand Down Expand Up @@ -123,3 +123,10 @@ def convert_datetime(date_time):
except ValueError:
return datetime.datetime.strptime(date_time, "%Y-%m-%d %H:%M:%S")
raise TypeError("Bad datetime type")


def convert_order_by(order_by):
# type: (Optional[List[str]]) -> Optional[List[str]]
if order_by:
order_by = [order.replace("created_on", "createdDateTimeUtc") for order in order_by]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would this work if the user passes any comb of upper case and lower case for created_on like i.e. Created_on?
not sure if this is a scenario, but asking in case it is important in Python

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm this wouldn't be proper snake case so I wouldn't consider it a scenario. I think I'll let the service validate here, they do send back an error if the query param is not supported.

return order_by
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
from .._helpers import (
get_http_logging_policy,
convert_datetime,
convert_order_by,
get_authentication_policy,
get_translation_input,
POLLING_INTERVAL,
Expand Down Expand Up @@ -243,14 +244,17 @@ def list_all_translation_statuses(self, **kwargs):
By default, we sort by all submitted operations descendingly by start time.
:keyword int results_per_page: is the number of operations returned per page.
:keyword list[str] translation_ids: translation operations ids to filter by.
:keyword list[str] statuses: translation operation statuses to filter by.
:keyword list[str] statuses: translation operation statuses to filter by. Options include
'NotStarted', 'Running', 'Succeeded', 'Failed', 'Cancelled', 'Cancelling',
and 'ValidationFailed'.
:keyword created_after: get operations created after certain datetime.
:paramtype created_after: Union[str, datetime.datetime]
:keyword created_before: get operations created before certain datetime.
:paramtype created_before: Union[str, datetime.datetime]
:keyword list[str] order_by: the sorting query for the operations returned.
format: ["parm1 asc/desc", "parm2 asc/desc", ...]
(ex: 'createdDateTimeUtc asc', 'createdDateTimeUtc desc').
:keyword list[str] order_by: the sorting query for the operations returned. Currently only
'created_on' supported.
format: ["param1 asc/desc", "param2 asc/desc", ...]
(ex: 'created_on asc', 'created_on desc').
:return: A pageable of TranslationStatus.
:rtype: ~azure.core.paging.ItemPaged[TranslationStatus]
:raises ~azure.core.exceptions.HttpResponseError:
Expand All @@ -265,6 +269,7 @@ def list_all_translation_statuses(self, **kwargs):
:caption: List all submitted translations under the resource.
"""

order_by = convert_order_by(kwargs.pop("order_by", None))
created_after = kwargs.pop("created_after", None)
created_before = kwargs.pop("created_before", None)
created_after = convert_datetime(created_after) if created_after else None
Expand All @@ -289,6 +294,7 @@ def _convert_from_generated_model(generated_model):
created_date_time_utc_start=created_after,
created_date_time_utc_end=created_before,
ids=translation_ids,
order_by=order_by,
**kwargs
)

Expand All @@ -303,14 +309,17 @@ def list_all_document_statuses(self, translation_id, **kwargs):
By default, we sort by all documents descendingly by start time.
:keyword int results_per_page: is the number of documents returned per page.
:keyword list[str] document_ids: document IDs to filter by.
:keyword list[str] statuses: document statuses to filter by.
:keyword translated_after: get document translated after certain datetime.
:paramtype translated_after: Union[str, datetime.datetime]
:keyword translated_before: get document translated before certain datetime.
:paramtype translated_before: Union[str, datetime.datetime]
:keyword list[str] order_by: the sorting query for the documents.
format: ["parm1 asc/desc", "parm2 asc/desc", ...]
(ex: 'createdDateTimeUtc asc', 'createdDateTimeUtc desc').
:keyword list[str] statuses: document statuses to filter by. Options include
'NotStarted', 'Running', 'Succeeded', 'Failed', 'Cancelled', 'Cancelling',
and 'ValidationFailed'.
:keyword created_after: get document created after certain datetime.
:paramtype created_after: Union[str, datetime.datetime]
:keyword created_before: get document created before certain datetime.
:paramtype created_before: Union[str, datetime.datetime]
:keyword list[str] order_by: the sorting query for the documents. Currently only
'created_on' is supported.
format: ["param1 asc/desc", "param2 asc/desc", ...]
(ex: 'created_on asc', 'created_on desc').
:return: A pageable of DocumentStatus.
:rtype: ~azure.core.paging.ItemPaged[DocumentStatus]
:raises ~azure.core.exceptions.HttpResponseError:
Expand All @@ -324,13 +333,15 @@ def list_all_document_statuses(self, translation_id, **kwargs):
:dedent: 4
:caption: List all the document statuses as they are being translated.
"""
translated_after = kwargs.pop("translated_after", None)
translated_before = kwargs.pop("translated_before", None)
translated_after = (
convert_datetime(translated_after) if translated_after else None

order_by = convert_order_by(kwargs.pop("order_by", None))
created_after = kwargs.pop("created_after", None)
created_before = kwargs.pop("created_before", None)
created_after = (
convert_datetime(created_after) if created_after else None
)
translated_before = (
convert_datetime(translated_before) if translated_before else None
created_before = (
convert_datetime(created_before) if created_before else None
)
results_per_page = kwargs.pop("results_per_page", None)
document_ids = kwargs.pop("document_ids", None)
Expand All @@ -350,9 +361,10 @@ def _convert_from_generated_model(generated_model):
id=translation_id,
cls=model_conversion_function,
maxpagesize=results_per_page,
created_date_time_utc_start=translated_after,
created_date_time_utc_end=translated_before,
created_date_time_utc_start=created_after,
created_date_time_utc_end=created_before,
ids=document_ids,
order_by=order_by,
**kwargs
)

Expand Down
Loading