Skip to content

Commit

Permalink
updated model attributes (Azure#17719)
Browse files Browse the repository at this point in the history
* added required atteibute

* update test cases validations

* update samples

* add has_completed to both document and status results

* updated test validation

* [test] updated recorded tests

* fix linting errors

* fix docstrings

* add cancelling as non-terminal state

* adding cancelling to testcase

* update docstring mistakes
  • Loading branch information
Mohamed Shaban committed Apr 1, 2021
1 parent eaa4acf commit f777abe
Show file tree
Hide file tree
Showing 32 changed files with 3,627 additions and 3,958 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,10 @@ class JobStatusResult(object): # pylint: disable=useless-object-inheritance, to
:ivar int documents_not_yet_started_count: Number of documents that have not yet started being translated.
:ivar int documents_cancelled_count: Number of documents that were cancelled for translation.
:ivar int total_characters_charged: Total characters charged across all documents within the job.
:ivar bool has_completed: boolean to check whether a job has finished or not.
If the status returned indicates that the translation job has completed.
A translation job is considered 'complete' if it has reached
a terminal state like 'Succeeded', 'Cancelled', or 'Failed'."
"""

def __init__(
Expand All @@ -252,6 +256,7 @@ def __init__(
self.documents_not_yet_started_count = kwargs.get('documents_not_yet_started_count', None)
self.documents_cancelled_count = kwargs.get('documents_cancelled_count', None)
self.total_characters_charged = kwargs.get('total_characters_charged', None)
self.has_completed = kwargs.get('has_completed', False)

@classmethod
def _from_generated(cls, batch_status_details):
Expand All @@ -268,13 +273,16 @@ def _from_generated(cls, batch_status_details):
documents_in_progress_count=batch_status_details.summary.in_progress,
documents_not_yet_started_count=batch_status_details.summary.not_yet_started,
documents_cancelled_count=batch_status_details.summary.cancelled,
total_characters_charged=batch_status_details.summary.total_character_charged
total_characters_charged=batch_status_details.summary.total_character_charged,
has_completed=bool(batch_status_details.status not in ["NotStarted", "Running", "Cancelling"])
)


class DocumentStatusResult(object): # pylint: disable=useless-object-inheritance, R0903
class DocumentStatusResult(object): # pylint: disable=useless-object-inheritance, R0903, R0902
"""Status information about a particular document within a translation job.
:ivar str source_document_url: Location of the source document in the source
container. Note that any SAS tokens are removed from this path.
:ivar str translated_document_url: Location of the translated document in the target
container. Note that any SAS tokens are removed from this path.
:ivar created_on: The date time when the document was created.
Expand All @@ -298,13 +306,18 @@ class DocumentStatusResult(object): # pylint: disable=useless-object-inheritanc
Value is between [0.0, 1.0].
:ivar str id: Document Id.
:ivar int characters_charged: Characters charged for the document.
:ivar bool has_completed: boolean to check whether a document finished translation or not.
If the status returned indicates that the document has completed.
A document is considered 'complete' if it has reached
a terminal state like 'Succeeded', 'Cancelled', or 'Failed'."
"""

def __init__(
self,
**kwargs
):
# type: (**Any) -> None
self.source_document_url = kwargs.get('source_document_url', None)
self.translated_document_url = kwargs.get('translated_document_url', None)
self.created_on = kwargs['created_on']
self.last_updated_on = kwargs['last_updated_on']
Expand All @@ -314,11 +327,13 @@ def __init__(
self.translation_progress = kwargs.get('translation_progress', None)
self.id = kwargs.get('id', None)
self.characters_charged = kwargs.get('characters_charged', None)
self.has_completed = kwargs.get('has_completed', False)


@classmethod
def _from_generated(cls, doc_status):
return cls(
source_document_url=doc_status.source_path,
translated_document_url=doc_status.path,
created_on=doc_status.created_date_time_utc,
last_updated_on=doc_status.last_action_date_time_utc,
Expand All @@ -327,7 +342,8 @@ def _from_generated(cls, doc_status):
error=DocumentTranslationError._from_generated(doc_status.error) if doc_status.error else None, # pylint: disable=protected-access
translation_progress=doc_status.progress,
id=doc_status.id,
characters_charged=doc_status.character_charged
characters_charged=doc_status.character_charged,
has_completed=bool(doc_status.status not in ["NotStarted", "Running", "Cancelling"])
)


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ async def sample_document_status_checks_async():
async for document in doc_statuses:
if document.id not in completed_docs:
if document.status == "Succeeded":
print("Document at {} was translated to {} language".format(
document.translated_document_url, document.translate_to
print("Document at {} was translated to {} language. You can find translated document at {}".format(
document.source_document_url, document.translate_to, document.translated_document_url
))
completed_docs.append(document.id)
if document.status == "Failed":
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@ async def sample_translation_async():
print("Document ID: {}".format(document.id))
print("Document status: {}".format(document.status))
if document.status == "Succeeded":
print("Document location: {}".format(document.translated_document_url))
print("Source document location: {}".format(document.source_document_url))
print("Translated document location: {}".format(document.translated_document_url))
print("Translated to language: {}\n".format(document.translate_to))
else:
print("Error Code: {}, Message: {}\n".format(document.error.code, document.error.message))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,8 @@ async def sample_translation_with_azure_blob(self):
print("Document ID: {}".format(document.id))
print("Document status: {}".format(document.status))
if document.status == "Succeeded":
print("Document location: {}".format(document.translated_document_url))
print("Source document location: {}".format(document.source_document_url))
print("Translated document location: {}".format(document.translated_document_url))
print("Translated to language: {}\n".format(document.translate_to))

blob_client = BlobClient.from_blob_url(document.translated_document_url, credential=self.storage_key)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,8 @@ async def sample_translation_with_glossaries_async():
print("Document ID: {}".format(document.id))
print("Document status: {}".format(document.status))
if document.status == "Succeeded":
print("Document location: {}".format(document.translated_document_url))
print("Source document location: {}".format(document.source_document_url))
print("Translated document location: {}".format(document.translated_document_url))
print("Translated to language: {}\n".format(document.translate_to))
else:
print("Error Code: {}, Message: {}\n".format(document.error.code, document.error.message))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ def sample_document_status_checks():
for document in doc_statuses:
if document.id not in completed_docs:
if document.status == "Succeeded":
print("Document at {} was translated to {} language".format(
document.translated_document_url, document.translate_to
print("Document at {} was translated to {} language. You can find translated document at {}".format(
document.source_document_url, document.translate_to, document.translated_document_url
))
completed_docs.append(document.id)
if document.status == "Failed":
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,8 @@ def sample_translation():
print("Document ID: {}".format(document.id))
print("Document status: {}".format(document.status))
if document.status == "Succeeded":
print("Document location: {}".format(document.translated_document_url))
print("Source document location: {}".format(document.source_document_url))
print("Translated document location: {}".format(document.translated_document_url))
print("Translated to language: {}\n".format(document.translate_to))
else:
print("Error Code: {}, Message: {}\n".format(document.error.code, document.error.message))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,8 @@ def sample_translation_with_azure_blob(self):
print("Document ID: {}".format(document.id))
print("Document status: {}".format(document.status))
if document.status == "Succeeded":
print("Document location: {}".format(document.translated_document_url))
print("Source document location: {}".format(document.source_document_url))
print("Translated document location: {}".format(document.translated_document_url))
print("Translated to language: {}\n".format(document.translate_to))

blob_client = BlobClient.from_blob_url(document.translated_document_url, credential=self.storage_key)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,8 @@ def sample_translation_with_glossaries():
print("Document ID: {}".format(document.id))
print("Document status: {}".format(document.status))
if document.status == "Succeeded":
print("Document location: {}".format(document.translated_document_url))
print("Source document location: {}".format(document.source_document_url))
print("Translated document location: {}".format(document.translated_document_url))
print("Translated to language: {}\n".format(document.translate_to))
else:
print("Error Code: {}, Message: {}\n".format(document.error.code, document.error.message))
Expand Down
Loading

0 comments on commit f777abe

Please sign in to comment.