Skip to content

Commit 6ae6594

Browse files
[SDK-198] Fix bulk_export() not exporting global_key(s) (#1244)
1 parent b79d664 commit 6ae6594

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

labelbox/schema/data_row_metadata.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,9 @@ def parse_metadata(
435435
if "fields" in dr:
436436
fields = self.parse_metadata_fields(dr["fields"])
437437
parsed.append(
438-
DataRowMetadata(data_row_id=dr["dataRowId"], fields=fields))
438+
DataRowMetadata(data_row_id=dr["dataRowId"],
439+
global_key=dr["globalKey"],
440+
fields=fields))
439441
return parsed
440442

441443
def parse_metadata_fields(
@@ -621,6 +623,7 @@ def _bulk_export(_data_row_ids: List[str]) -> List[DataRowMetadata]:
621623
query = """query dataRowCustomMetadataPyApi($dataRowIds: [ID!]!) {
622624
dataRowCustomMetadata(where: {dataRowIds : $dataRowIds}) {
623625
dataRowId
626+
globalKey
624627
fields {
625628
value
626629
schemaId

tests/integration/test_data_row_metadata.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,15 @@ def test_export_empty_metadata(client, configured_project_with_label,
9494
assert label.data.metadata == []
9595

9696

97+
def test_bulk_export_datarow_metadata(data_row, mdo: DataRowMetadataOntology):
98+
metadata = make_metadata(data_row.uid)
99+
mdo.bulk_upsert([metadata])
100+
exported = mdo.bulk_export([data_row.uid])
101+
assert exported[0].global_key == data_row.global_key
102+
assert exported[0].data_row_id == data_row.uid
103+
assert len([field for field in exported[0].fields]) == 3
104+
105+
97106
def test_get_datarow_metadata_ontology(mdo):
98107
assert len(mdo.fields)
99108
assert len(mdo.reserved_fields)
@@ -316,6 +325,8 @@ def test_parse_raw_metadata(mdo):
316325
example = {
317326
'dataRowId':
318327
'ckr6kkfx801ui0yrtg9fje8xh',
328+
'globalKey':
329+
'global-key-1',
319330
'fields': [
320331
{
321332
'schemaId': 'cko8s9r5v0001h2dk9elqdidh',
@@ -344,6 +355,7 @@ def test_parse_raw_metadata(mdo):
344355
assert len(parsed) == 1
345356
for row in parsed:
346357
assert row.data_row_id == example["dataRowId"]
358+
assert row.global_key == example["globalKey"]
347359
assert len(row.fields) == 4
348360

349361
for row in parsed:

0 commit comments

Comments
 (0)