Skip to content

Commit 4d57304

Browse files
authored
Merge pull request #756 from Labelbox/ms/create-data-row-objects
update create data row row_data to accept dict
2 parents 4d1062b + 8c55860 commit 4d57304

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

labelbox/schema/data_row.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import logging
22
from typing import TYPE_CHECKING
3+
import json
34

45
from labelbox.orm import query
56
from labelbox.orm.db_object import DbObject, Updateable, BulkDeletable
@@ -64,6 +65,14 @@ def __init__(self, *args, **kwargs):
6465
self.attachments.supports_filtering = False
6566
self.attachments.supports_sorting = False
6667

68+
def update(self, **kwargs):
69+
# Convert row data to string if it is an object
70+
# All other updates pass through
71+
row_data = kwargs.get("row_data")
72+
if isinstance(row_data, dict):
73+
kwargs['row_data'] = json.dumps(kwargs['row_data'])
74+
super().update(**kwargs)
75+
6776
@staticmethod
6877
def bulk_delete(data_rows) -> None:
6978
""" Deletes all the given DataRows.

tests/integration/test_data_rows.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,13 @@ def test_data_row_update(dataset, rand_gen, image_url):
459459
data_row.update(external_id=external_id_2)
460460
assert data_row.external_id == external_id_2
461461

462+
data_row.update(row_data="123")
463+
assert data_row.row_data == "123"
464+
465+
# tileLayer becomes a media attribute
466+
data_row.update(row_data={'pdfUrl': "123", "tileLayerUrl": "123"})
467+
assert data_row.row_data == "123"
468+
462469

463470
def test_data_row_filtering_sorting(dataset, image_url):
464471
task = dataset.create_data_rows([

0 commit comments

Comments
 (0)