From 9d35944ad520b613023fdd63d319964c857a6b90 Mon Sep 17 00:00:00 2001 From: Yamini Kancharana Date: Tue, 5 Sep 2023 16:30:57 -0700 Subject: [PATCH 1/3] fix --- labelbox/schema/data_row_metadata.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/labelbox/schema/data_row_metadata.py b/labelbox/schema/data_row_metadata.py index 61982e69d..4c51c6965 100644 --- a/labelbox/schema/data_row_metadata.py +++ b/labelbox/schema/data_row_metadata.py @@ -430,7 +430,9 @@ def parse_metadata( if "fields" in dr: fields = self.parse_metadata_fields(dr["fields"]) parsed.append( - DataRowMetadata(data_row_id=dr["dataRowId"], fields=fields)) + DataRowMetadata(data_row_id=dr["dataRowId"], + global_key=dr["globalKey"], + fields=fields)) return parsed def parse_metadata_fields( From b71a2d122c8cb5b79b207e762620fe3ae2c32a71 Mon Sep 17 00:00:00 2001 From: Yamini Kancharana Date: Wed, 27 Sep 2023 08:32:14 -0700 Subject: [PATCH 2/3] consume globalkey returned by dataRowCustomMetadata GQL endpoint --- labelbox/schema/data_row_metadata.py | 1 + 1 file changed, 1 insertion(+) diff --git a/labelbox/schema/data_row_metadata.py b/labelbox/schema/data_row_metadata.py index 4c51c6965..e9b56c96a 100644 --- a/labelbox/schema/data_row_metadata.py +++ b/labelbox/schema/data_row_metadata.py @@ -618,6 +618,7 @@ def _bulk_export(_data_row_ids: List[str]) -> List[DataRowMetadata]: query = """query dataRowCustomMetadataPyApi($dataRowIds: [ID!]!) { dataRowCustomMetadata(where: {dataRowIds : $dataRowIds}) { dataRowId + globalKey fields { value schemaId From 4850b291f2820cb90ff45a4ac2525211773888eb Mon Sep 17 00:00:00 2001 From: Yamini Kancharana Date: Thu, 12 Oct 2023 14:35:42 -0700 Subject: [PATCH 3/3] add integration test --- tests/integration/test_data_row_metadata.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/integration/test_data_row_metadata.py b/tests/integration/test_data_row_metadata.py index 6c0c477ab..6b6f79206 100644 --- a/tests/integration/test_data_row_metadata.py +++ b/tests/integration/test_data_row_metadata.py @@ -94,6 +94,15 @@ def test_export_empty_metadata(client, configured_project_with_label, assert label.data.metadata == [] +def test_bulk_export_datarow_metadata(data_row, mdo: DataRowMetadataOntology): + metadata = make_metadata(data_row.uid) + mdo.bulk_upsert([metadata]) + exported = mdo.bulk_export([data_row.uid]) + assert exported[0].global_key == data_row.global_key + assert exported[0].data_row_id == data_row.uid + assert len([field for field in exported[0].fields]) == 3 + + def test_get_datarow_metadata_ontology(mdo): assert len(mdo.fields) assert len(mdo.reserved_fields) @@ -316,6 +325,8 @@ def test_parse_raw_metadata(mdo): example = { 'dataRowId': 'ckr6kkfx801ui0yrtg9fje8xh', + 'globalKey': + 'global-key-1', 'fields': [ { 'schemaId': 'cko8s9r5v0001h2dk9elqdidh', @@ -344,6 +355,7 @@ def test_parse_raw_metadata(mdo): assert len(parsed) == 1 for row in parsed: assert row.data_row_id == example["dataRowId"] + assert row.global_key == example["globalKey"] assert len(row.fields) == 4 for row in parsed: