Skip to content

Commit b94b42f

Browse files
Rakshith Bhyravabhotlakristapratico
Rakshith Bhyravabhotla
andauthored
Rename to completed_on and requested_on in the CustomFormModel (#11592)
* Rename to completed_on and requested_on * comments * Apply suggestions from code review Co-authored-by: Krista Pratico <[email protected]> * Update sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_models.py Co-authored-by: Krista Pratico <[email protected]> Co-authored-by: Krista Pratico <[email protected]>
1 parent a8a90d2 commit b94b42f

17 files changed

+85
-83
lines changed

sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
- `USReceiptType` is renamed to `ReceiptType`
1717
- `use_training_labels` is now a required positional param in the `begin_training` APIs.
1818
- `stream` and `url` parameters found on methods for `FormRecognizerClient` have been renamed to `form` and `form_url`, respectively.
19-
For recognize receipt methods, parameters have been renamed to `receipt` and `receipt_url`.
19+
- For recognize receipt methods, parameters have been renamed to `receipt` and `receipt_url`.
20+
- `created_on` and `last_modified` are renamed to `requested_on` and `completed_on` in the
21+
`CustomFormModel` and `CustomFormModelInfo` models.
2022

2123
**New features**
2224

sdk/formrecognizer/azure-ai-formrecognizer/README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -265,8 +265,8 @@ model = poller.result()
265265
# Custom model information
266266
print("Model ID: {}".format(model.model_id))
267267
print("Status: {}".format(model.status))
268-
print("Created on: {}".format(model.created_on))
269-
print("Last modified: {}".format(model.last_modified))
268+
print("Requested on: {}".format(model.requested_on))
269+
print("Completed on: {}".format(model.completed_on))
270270

271271
print("Recognized fields:")
272272
# looping through the submodels, which contains the fields they were trained on
@@ -314,8 +314,8 @@ model_id = "<model id from the Train a Model sample>"
314314
custom_model = form_training_client.get_custom_model(model_id=model_id)
315315
print("Model ID: {}".format(custom_model.model_id))
316316
print("Status: {}".format(custom_model.status))
317-
print("Created on: {}".format(custom_model.created_on))
318-
print("Last modified: {}".format(custom_model.last_modified))
317+
print("Requested on: {}".format(custom_model.requested_on))
318+
print("Completed on: {}".format(custom_model.completed_on))
319319

320320
# Finally, we will delete this model by ID
321321
form_training_client.delete_model(model_id=custom_model.model_id)

sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_models.py

+18-18
Original file line numberDiff line numberDiff line change
@@ -672,9 +672,9 @@ class CustomFormModel(object):
672672
Status indicating the model's readiness for use,
673673
:class:`~azure.ai.formrecognizer.CustomFormModelStatus`.
674674
Possible values include: 'creating', 'ready', 'invalid'.
675-
:ivar ~datetime.datetime created_on:
676-
The date and time (UTC) when model training was started.
677-
:ivar ~datetime.datetime last_modified:
675+
:ivar ~datetime.datetime requested_on:
676+
The date and time (UTC) when model training was requested.
677+
:ivar ~datetime.datetime completed_on:
678678
Date and time (UTC) when model training completed.
679679
:ivar list[~azure.ai.formrecognizer.CustomFormSubModel] models:
680680
A list of submodels that are part of this model, each of
@@ -688,8 +688,8 @@ class CustomFormModel(object):
688688
def __init__(self, **kwargs):
689689
self.model_id = kwargs.get("model_id", None)
690690
self.status = kwargs.get("status", None)
691-
self.created_on = kwargs.get("created_on", None)
692-
self.last_modified = kwargs.get("last_modified", None)
691+
self.requested_on = kwargs.get("requested_on", None)
692+
self.completed_on = kwargs.get("completed_on", None)
693693
self.models = kwargs.get("models", None)
694694
self.errors = kwargs.get("errors", None)
695695
self.training_documents = kwargs.get("training_documents", [])
@@ -699,8 +699,8 @@ def _from_generated(cls, model):
699699
return cls(
700700
model_id=model.model_info.model_id,
701701
status=model.model_info.status,
702-
created_on=model.model_info.created_date_time,
703-
last_modified=model.model_info.last_updated_date_time,
702+
requested_on=model.model_info.created_date_time,
703+
completed_on=model.model_info.last_updated_date_time,
704704
models=CustomFormSubModel._from_generated_unlabeled(model)
705705
if model.keys else CustomFormSubModel._from_generated_labeled(model),
706706
errors=FormRecognizerError._from_generated(model.train_result.errors) if model.train_result else None,
@@ -709,9 +709,9 @@ def _from_generated(cls, model):
709709
)
710710

711711
def __repr__(self):
712-
return "CustomFormModel(model_id={}, status={}, created_on={}, last_modified={}, models={}, " \
712+
return "CustomFormModel(model_id={}, status={}, requested_on={}, completed_on={}, models={}, " \
713713
"errors={}, training_documents={})".format(
714-
self.model_id, self.status, self.created_on, self.last_modified, repr(self.models),
714+
self.model_id, self.status, self.requested_on, self.completed_on, repr(self.models),
715715
repr(self.errors), repr(self.training_documents)
716716
)[:1024]
717717

@@ -853,30 +853,30 @@ class CustomFormModelInfo(object):
853853
:ivar str status:
854854
The status of the model, :class:`~azure.ai.formrecognizer.CustomFormModelStatus`.
855855
Possible values include: 'creating', 'ready', 'invalid'.
856-
:ivar ~datetime.datetime created_on:
857-
Date and time (UTC) when model training was started.
858-
:ivar ~datetime.datetime last_modified:
856+
:ivar ~datetime.datetime requested_on:
857+
Date and time (UTC) when model training was requested.
858+
:ivar ~datetime.datetime completed_on:
859859
Date and time (UTC) when model training completed.
860860
"""
861861

862862
def __init__(self, **kwargs):
863863
self.model_id = kwargs.get("model_id", None)
864864
self.status = kwargs.get("status", None)
865-
self.created_on = kwargs.get("created_on", None)
866-
self.last_modified = kwargs.get("last_modified", None)
865+
self.requested_on = kwargs.get("requested_on", None)
866+
self.completed_on = kwargs.get("completed_on", None)
867867

868868
@classmethod
869869
def _from_generated(cls, model, model_id=None):
870870
return cls(
871871
model_id=model_id if model_id else model.model_id,
872872
status=model.status,
873-
created_on=model.created_date_time,
874-
last_modified=model.last_updated_date_time
873+
requested_on=model.created_date_time,
874+
completed_on=model.last_updated_date_time
875875
)
876876

877877
def __repr__(self):
878-
return "CustomFormModelInfo(model_id={}, status={}, created_on={}, last_modified={})".format(
879-
self.model_id, self.status, self.created_on, self.last_modified
878+
return "CustomFormModelInfo(model_id={}, status={}, requested_on={}, completed_on={})".format(
879+
self.model_id, self.status, self.requested_on, self.completed_on
880880
)[:1024]
881881

882882

sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_manage_custom_models_async.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ async def manage_custom_models(self):
6565
custom_model = await form_training_client.get_custom_model(model_id=first_model.model_id)
6666
print("Model ID: {}".format(custom_model.model_id))
6767
print("Status: {}".format(custom_model.status))
68-
print("Created on: {}".format(custom_model.created_on))
69-
print("Last modified: {}".format(custom_model.last_modified))
68+
print("Requested on: {}".format(custom_model.requested_on))
69+
print("Completed on: {}".format(custom_model.completed_on))
7070
# [END get_custom_model_async]
7171

7272
# Finally, we will delete this model by ID

sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_train_model_with_labels_async.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ async def train_model_with_labels(self):
4949
# Custom model information
5050
print("Model ID: {}".format(model.model_id))
5151
print("Status: {}".format(model.status))
52-
print("Created on: {}".format(model.created_on))
53-
print("Last modified: {}".format(model.last_modified))
52+
print("Requested on: {}".format(model.requested_on))
53+
print("Completed on: {}".format(model.completed_on))
5454

5555
print("Recognized fields:")
5656
# looping through the submodels, which contains the fields they were trained on

sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_train_model_without_labels_async.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ async def train_model_without_labels(self):
4848
# Custom model information
4949
print("Model ID: {}".format(model.model_id))
5050
print("Status: {}".format(model.status))
51-
print("Created on: {}".format(model.created_on))
52-
print("Last modified: {}".format(model.last_modified))
51+
print("Requested on: {}".format(model.requested_on))
52+
print("Completed on: {}".format(model.completed_on))
5353

5454
print("Recognized fields:")
5555
# Looping through the submodels, which contains the fields they were trained on

sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_manage_custom_models.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ def manage_custom_models(self):
6161
custom_model = form_training_client.get_custom_model(model_id=first_model.model_id)
6262
print("Model ID: {}".format(custom_model.model_id))
6363
print("Status: {}".format(custom_model.status))
64-
print("Created on: {}".format(custom_model.created_on))
65-
print("Last modified: {}".format(custom_model.last_modified))
64+
print("Requested on: {}".format(custom_model.requested_on))
65+
print("Completed on: {}".format(custom_model.completed_on))
6666
# [END get_custom_model]
6767

6868
# Finally, we will delete this model by ID

sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_train_model_with_labels.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ def train_model_with_labels(self):
4646
# Custom model information
4747
print("Model ID: {}".format(model.model_id))
4848
print("Status: {}".format(model.status))
49-
print("Created on: {}".format(model.created_on))
50-
print("Last modified: {}".format(model.last_modified))
49+
print("Requested on: {}".format(model.requested_on))
50+
print("Completed on: {}".format(model.completed_on))
5151

5252
print("Recognized fields:")
5353
# looping through the submodels, which contains the fields they were trained on

sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_train_model_without_labels.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ def train_model_without_labels(self):
4646
# Custom model information
4747
print("Model ID: {}".format(model.model_id))
4848
print("Status: {}".format(model.status))
49-
print("Created on: {}".format(model.created_on))
50-
print("Last modified: {}".format(model.last_modified))
49+
print("Requested on: {}".format(model.requested_on))
50+
print("Completed on: {}".format(model.completed_on))
5151

5252
print("Recognized fields:")
5353
# Looping through the submodels, which contains the fields they were trained on

sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ def test_copy_model_successful(self, client, container_sas_url, location, resour
4444
copied_model = client.get_custom_model(copy.model_id)
4545

4646
self.assertEqual(copy.status, "succeeded")
47-
self.assertIsNotNone(copy.created_on)
48-
self.assertIsNotNone(copy.last_modified)
47+
self.assertIsNotNone(copy.requested_on)
48+
self.assertIsNotNone(copy.completed_on)
4949
self.assertEqual(target["modelId"], copy.model_id)
5050
self.assertNotEqual(target["modelId"], model.model_id)
5151
self.assertIsNotNone(copied_model)
@@ -86,9 +86,9 @@ def callback(response, _, headers):
8686

8787
actual = raw_response[0]
8888
copy = raw_response[1]
89-
self.assertEqual(copy.created_on, actual.created_date_time)
89+
self.assertEqual(copy.requested_on, actual.created_date_time)
9090
self.assertEqual(copy.status, actual.status)
91-
self.assertEqual(copy.last_modified, actual.last_updated_date_time)
91+
self.assertEqual(copy.completed_on, actual.last_updated_date_time)
9292
self.assertEqual(copy.model_id, target["modelId"])
9393

9494
@GlobalFormRecognizerAccountPreparer()

sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model_async.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ async def test_copy_model_successful(self, client, container_sas_url, location,
4343
copied_model = await client.get_custom_model(copy.model_id)
4444

4545
self.assertEqual(copy.status, "succeeded")
46-
self.assertIsNotNone(copy.created_on)
47-
self.assertIsNotNone(copy.last_modified)
46+
self.assertIsNotNone(copy.requested_on)
47+
self.assertIsNotNone(copy.completed_on)
4848
self.assertEqual(target["modelId"], copy.model_id)
4949
self.assertNotEqual(target["modelId"], model.model_id)
5050
self.assertIsNotNone(copied_model)
@@ -81,9 +81,9 @@ def callback(response, _, headers):
8181

8282
actual = raw_response[0]
8383
copy = raw_response[1]
84-
self.assertEqual(copy.created_on, actual.created_date_time)
84+
self.assertEqual(copy.requested_on, actual.created_date_time)
8585
self.assertEqual(copy.status, actual.status)
86-
self.assertEqual(copy.last_modified, actual.last_updated_date_time)
86+
self.assertEqual(copy.completed_on, actual.last_updated_date_time)
8787
self.assertEqual(copy.model_id, target["modelId"])
8888

8989
@GlobalFormRecognizerAccountPreparer()

sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ def test_mgmt_model_labeled(self, client, container_sas_url):
8787

8888
self.assertEqual(labeled_model_from_train.model_id, labeled_model_from_get.model_id)
8989
self.assertEqual(labeled_model_from_train.status, labeled_model_from_get.status)
90-
self.assertEqual(labeled_model_from_train.created_on, labeled_model_from_get.created_on)
91-
self.assertEqual(labeled_model_from_train.last_modified, labeled_model_from_get.last_modified)
90+
self.assertEqual(labeled_model_from_train.requested_on, labeled_model_from_get.requested_on)
91+
self.assertEqual(labeled_model_from_train.completed_on, labeled_model_from_get.completed_on)
9292
self.assertEqual(labeled_model_from_train.errors, labeled_model_from_get.errors)
9393
for a, b in zip(labeled_model_from_train.training_documents, labeled_model_from_get.training_documents):
9494
self.assertEqual(a.document_name, b.document_name)
@@ -104,8 +104,8 @@ def test_mgmt_model_labeled(self, client, container_sas_url):
104104
for model in models_list:
105105
self.assertIsNotNone(model.model_id)
106106
self.assertIsNotNone(model.status)
107-
self.assertIsNotNone(model.created_on)
108-
self.assertIsNotNone(model.last_modified)
107+
self.assertIsNotNone(model.requested_on)
108+
self.assertIsNotNone(model.completed_on)
109109

110110
client.delete_model(labeled_model_from_train.model_id)
111111

@@ -123,8 +123,8 @@ def test_mgmt_model_unlabeled(self, client, container_sas_url):
123123

124124
self.assertEqual(unlabeled_model_from_train.model_id, unlabeled_model_from_get.model_id)
125125
self.assertEqual(unlabeled_model_from_train.status, unlabeled_model_from_get.status)
126-
self.assertEqual(unlabeled_model_from_train.created_on, unlabeled_model_from_get.created_on)
127-
self.assertEqual(unlabeled_model_from_train.last_modified, unlabeled_model_from_get.last_modified)
126+
self.assertEqual(unlabeled_model_from_train.requested_on, unlabeled_model_from_get.requested_on)
127+
self.assertEqual(unlabeled_model_from_train.completed_on, unlabeled_model_from_get.completed_on)
128128
self.assertEqual(unlabeled_model_from_train.errors, unlabeled_model_from_get.errors)
129129
for a, b in zip(unlabeled_model_from_train.training_documents, unlabeled_model_from_get.training_documents):
130130
self.assertEqual(a.document_name, b.document_name)
@@ -139,8 +139,8 @@ def test_mgmt_model_unlabeled(self, client, container_sas_url):
139139
for model in models_list:
140140
self.assertIsNotNone(model.model_id)
141141
self.assertIsNotNone(model.status)
142-
self.assertIsNotNone(model.created_on)
143-
self.assertIsNotNone(model.last_modified)
142+
self.assertIsNotNone(model.requested_on)
143+
self.assertIsNotNone(model.completed_on)
144144

145145
client.delete_model(unlabeled_model_from_train.model_id)
146146

sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt_async.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ async def test_mgmt_model_labeled(self, client, container_sas_url):
8787

8888
self.assertEqual(labeled_model_from_train.model_id, labeled_model_from_get.model_id)
8989
self.assertEqual(labeled_model_from_train.status, labeled_model_from_get.status)
90-
self.assertEqual(labeled_model_from_train.created_on, labeled_model_from_get.created_on)
91-
self.assertEqual(labeled_model_from_train.last_modified, labeled_model_from_get.last_modified)
90+
self.assertEqual(labeled_model_from_train.requested_on, labeled_model_from_get.requested_on)
91+
self.assertEqual(labeled_model_from_train.completed_on, labeled_model_from_get.completed_on)
9292
self.assertEqual(labeled_model_from_train.errors, labeled_model_from_get.errors)
9393
for a, b in zip(labeled_model_from_train.training_documents, labeled_model_from_get.training_documents):
9494
self.assertEqual(a.document_name, b.document_name)
@@ -104,8 +104,8 @@ async def test_mgmt_model_labeled(self, client, container_sas_url):
104104
async for model in models_list:
105105
self.assertIsNotNone(model.model_id)
106106
self.assertIsNotNone(model.status)
107-
self.assertIsNotNone(model.created_on)
108-
self.assertIsNotNone(model.last_modified)
107+
self.assertIsNotNone(model.requested_on)
108+
self.assertIsNotNone(model.completed_on)
109109

110110
await client.delete_model(labeled_model_from_train.model_id)
111111

@@ -121,8 +121,8 @@ async def test_mgmt_model_unlabeled(self, client, container_sas_url):
121121

122122
self.assertEqual(unlabeled_model_from_train.model_id, unlabeled_model_from_get.model_id)
123123
self.assertEqual(unlabeled_model_from_train.status, unlabeled_model_from_get.status)
124-
self.assertEqual(unlabeled_model_from_train.created_on, unlabeled_model_from_get.created_on)
125-
self.assertEqual(unlabeled_model_from_train.last_modified, unlabeled_model_from_get.last_modified)
124+
self.assertEqual(unlabeled_model_from_train.requested_on, unlabeled_model_from_get.requested_on)
125+
self.assertEqual(unlabeled_model_from_train.completed_on, unlabeled_model_from_get.completed_on)
126126
self.assertEqual(unlabeled_model_from_train.errors, unlabeled_model_from_get.errors)
127127
for a, b in zip(unlabeled_model_from_train.training_documents, unlabeled_model_from_get.training_documents):
128128
self.assertEqual(a.document_name, b.document_name)
@@ -137,8 +137,8 @@ async def test_mgmt_model_unlabeled(self, client, container_sas_url):
137137
async for model in models_list:
138138
self.assertIsNotNone(model.model_id)
139139
self.assertIsNotNone(model.status)
140-
self.assertIsNotNone(model.created_on)
141-
self.assertIsNotNone(model.last_modified)
140+
self.assertIsNotNone(model.requested_on)
141+
self.assertIsNotNone(model.completed_on)
142142

143143
await client.delete_model(unlabeled_model_from_train.model_id)
144144

sdk/formrecognizer/azure-ai-formrecognizer/tests/test_repr.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -205,25 +205,25 @@ def test_custom_form_model(self, custom_form_sub_model, form_recognizer_error, t
205205
model = _models.CustomFormModel(
206206
model_id=1,
207207
status=_models.CustomFormModelStatus.creating,
208-
created_on=datetime.datetime(1, 1, 1),
209-
last_modified=datetime.datetime(1, 1, 1),
208+
requested_on=datetime.datetime(1, 1, 1),
209+
completed_on=datetime.datetime(1, 1, 1),
210210
models=[custom_form_sub_model[0], custom_form_sub_model[0]],
211211
errors=[form_recognizer_error[0]],
212212
training_documents=[training_document_info[0], training_document_info[0]]
213213
)
214214

215-
model_repr = "CustomFormModel(model_id=1, status=creating, created_on=0001-01-01 00:00:00, " \
216-
"last_modified=0001-01-01 00:00:00, models=[{}, {}], errors=[{}], training_documents=[{}, {}])".format(
215+
model_repr = "CustomFormModel(model_id=1, status=creating, requested_on=0001-01-01 00:00:00, " \
216+
"completed_on=0001-01-01 00:00:00, models=[{}, {}], errors=[{}], training_documents=[{}, {}])".format(
217217
custom_form_sub_model[1], custom_form_sub_model[1], form_recognizer_error[1], training_document_info[1], training_document_info[1]
218218
)[:1024]
219219

220220
assert repr(model) == model_repr
221221

222222
def test_custom_form_model_info(self):
223223
model = _models.CustomFormModelInfo(
224-
model_id=1, status=_models.CustomFormModelStatus.ready, created_on=datetime.datetime(1, 1, 1), last_modified=datetime.datetime(1, 1, 1)
224+
model_id=1, status=_models.CustomFormModelStatus.ready, requested_on=datetime.datetime(1, 1, 1), completed_on=datetime.datetime(1, 1, 1)
225225
)
226-
model_repr = "CustomFormModelInfo(model_id=1, status=ready, created_on=0001-01-01 00:00:00, last_modified=0001-01-01 00:00:00)"[:1024]
226+
model_repr = "CustomFormModelInfo(model_id=1, status=ready, requested_on=0001-01-01 00:00:00, completed_on=0001-01-01 00:00:00)"[:1024]
227227
assert repr(model) == model_repr
228228

229229
def test_account_properties(self):

0 commit comments

Comments
 (0)