Skip to content

Commit 7748b14

Browse files
Fix Dataset.create_data_row local file upload
1 parent c6995a9 commit 7748b14

File tree

3 files changed

+13
-7
lines changed

3 files changed

+13
-7
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ a `Label`. Default value is 0.0.
1717
* Changelog.
1818

1919
### Fixed
20+
* `Dataset.create_data_row` upload of local file data.
2021

2122
## Version 2.2 (2019-10-18)
2223
Changelog not maintained before version 2.2.

labelbox/schema/dataset.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ def create_data_row(self, **kwargs):
4545
# If row data is a local file path, upload it to server.
4646
row_data = kwargs[DataRow.row_data.name]
4747
if os.path.exists(row_data):
48-
kwargs[DataRow.row_data.name] = self.client.upload_data(row_data)
48+
with open(row_data, "rb") as f:
49+
kwargs[DataRow.row_data.name] = self.client.upload_data(f.read())
4950

5051
kwargs[DataRow.dataset.name] = self
5152

tests/integration/test_data_rows.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from labelbox.exceptions import InvalidQueryError
88

99

10-
IMG_URL = "https://picsum.photos/200/300"
10+
IMG_URL = "https://picsum.photos/id/829/200/300"
1111

1212

1313
def test_data_row_bulk_creation(dataset, rand_gen):
@@ -32,7 +32,8 @@ def test_data_row_bulk_creation(dataset, rand_gen):
3232

3333
# Test creation using file name
3434
with NamedTemporaryFile() as fp:
35-
fp.write("Test data".encode())
35+
data = rand_gen(str).encode()
36+
fp.write(data)
3637
fp.flush()
3738
task = dataset.create_data_rows([fp.name])
3839
task.wait_till_done()
@@ -41,9 +42,7 @@ def test_data_row_bulk_creation(dataset, rand_gen):
4142
data_rows = list(dataset.data_rows())
4243
assert len(data_rows) == 3
4344
url = ({data_row.row_data for data_row in data_rows} - {IMG_URL}).pop()
44-
res = requests.get(url)
45-
assert res.status_code == 200
46-
assert res.text == "Test data"
45+
assert requests.get(url).content == data
4746

4847
data_rows[0].delete()
4948

@@ -68,11 +67,16 @@ def test_data_row_single_creation(dataset, rand_gen):
6867
assert data_row.dataset() == dataset
6968
assert data_row.created_by() == client.get_user()
7069
assert data_row.organization() == client.get_organization()
70+
assert requests.get(IMG_URL).content == \
71+
requests.get(data_row.row_data).content
7172

7273
with NamedTemporaryFile() as fp:
73-
fp.write("Test data".encode())
74+
data = rand_gen(str).encode()
75+
fp.write(data)
76+
fp.flush()
7477
data_row_2 = dataset.create_data_row(row_data=fp.name)
7578
assert len(list(dataset.data_rows())) == 2
79+
assert requests.get(data_row_2.row_data).content == data
7680

7781

7882
def test_data_row_update(dataset, rand_gen):

0 commit comments

Comments
 (0)