Skip to content

Commit c84f5c8

Browse files
committed
update to ignore logic
1 parent e85ebcd commit c84f5c8

File tree

7 files changed

+8
-36
lines changed

7 files changed

+8
-36
lines changed

labelbox/data/serialization/ndjson/converter.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
logger = logging.getLogger(__name__)
88

9+
IGNORE_IF_NONE = ["page", "unit"]
10+
911

1012
class NDJsonConverter:
1113

@@ -39,4 +41,8 @@ def serialize(
3941
A generator for accessing the ndjson representation of the data
4042
"""
4143
for example in NDLabel.from_common(labels):
42-
yield example.dict(by_alias=True)
44+
res = example.dict(by_alias=True)
45+
for k, v in list(res.items()):
46+
if k in IGNORE_IF_NONE and v is None:
47+
del res[k]
48+
yield res

tests/data/serialization/ndjson/test_classification.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,13 @@
44
from labelbox.data.serialization.ndjson.converter import NDJsonConverter
55
from labelbox.data.serialization.ndjson.objects import NDLine
66

7-
IGNORE_KEYS = ['unit', 'page']
8-
97

108
def test_classification():
119
with open('tests/data/assets/ndjson/classification_import.json',
1210
'r') as file:
1311
data = json.load(file)
1412
res = NDJsonConverter.deserialize(data).as_list()
1513
res = list(NDJsonConverter.serialize(res))
16-
for r in res:
17-
for key in IGNORE_KEYS:
18-
r.pop(key, None)
1914
assert res == data
2015

2116

@@ -25,7 +20,4 @@ def test_classification_with_name():
2520
data = json.load(file)
2621
res = NDJsonConverter.deserialize(data).as_list()
2722
res = list(NDJsonConverter.serialize(res))
28-
for r in res:
29-
for key in IGNORE_KEYS:
30-
r.pop(key, None)
3123
assert res == data

tests/data/serialization/ndjson/test_export_video_objects.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -586,7 +586,7 @@ def video_serialized_bbox_label():
586586

587587

588588
#ignore uuid because we randomize if there was none
589-
IGNORE_KEYS = ["uuid", "page", "unit"]
589+
IGNORE_KEYS = ["uuid"]
590590

591591

592592
def test_serialize_video_objects():

tests/data/serialization/ndjson/test_image.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,4 @@ def test_mask_from_arr():
100100
"png":
101101
"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAAAAABWESUoAAAAHklEQVR4nGNgGAKAEYn8j00BEyETBoOCUTAKhhwAAJW+AQwvpePVAAAAAElFTkSuQmCC"
102102
},
103-
"page": None,
104-
"unit": None
105103
}

tests/data/serialization/ndjson/test_nested.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,12 @@
22

33
from labelbox.data.serialization.ndjson.converter import NDJsonConverter
44

5-
IGNORE_KEYS = ['unit', 'page']
6-
75

86
def test_nested():
97
with open('tests/data/assets/ndjson/nested_import.json', 'r') as file:
108
data = json.load(file)
119
res = NDJsonConverter.deserialize(data).as_list()
1210
res = list(NDJsonConverter.serialize(res))
13-
for r in res:
14-
for key in IGNORE_KEYS:
15-
r.pop(key, None)
1611
assert res == data
1712

1813

@@ -22,7 +17,4 @@ def test_nested_name_only():
2217
data = json.load(file)
2318
res = NDJsonConverter.deserialize(data).as_list()
2419
res = list(NDJsonConverter.serialize(res))
25-
for r in res:
26-
for key in IGNORE_KEYS:
27-
r.pop(key, None)
2820
assert res == data

tests/data/serialization/ndjson/test_text.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,12 @@
22

33
from labelbox.data.serialization.ndjson.converter import NDJsonConverter
44

5-
IGNORE_KEYS = ['unit', 'page']
6-
75

86
def test_text():
97
with open('tests/data/assets/ndjson/text_import.json', 'r') as file:
108
data = json.load(file)
119
res = NDJsonConverter.deserialize(data).as_list()
1210
res = list(NDJsonConverter.serialize(res))
13-
for r in res:
14-
for key in IGNORE_KEYS:
15-
r.pop(key, None)
1611
assert res == data
1712

1813

@@ -22,7 +17,4 @@ def test_text_name_only():
2217
data = json.load(file)
2318
res = NDJsonConverter.deserialize(data).as_list()
2419
res = list(NDJsonConverter.serialize(res))
25-
for r in res:
26-
for key in IGNORE_KEYS:
27-
r.pop(key, None)
2820
assert res == data

tests/data/serialization/ndjson/test_video.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,13 @@
22

33
from labelbox.data.serialization.ndjson.converter import NDJsonConverter
44

5-
IGNORE_KEYS = ['unit', 'page']
6-
75

86
def test_video():
97
with open('tests/data/assets/ndjson/video_import.json', 'r') as file:
108
data = json.load(file)
119

1210
res = NDJsonConverter.deserialize(data).as_list()
1311
res = list(NDJsonConverter.serialize(res))
14-
for r in res:
15-
for key in IGNORE_KEYS:
16-
r.pop(key, None)
1712
assert res == [data[2], data[0], data[1], data[3], data[4], data[5]]
1813

1914

@@ -24,7 +19,4 @@ def test_video_name_only():
2419

2520
res = NDJsonConverter.deserialize(data).as_list()
2621
res = list(NDJsonConverter.serialize(res))
27-
for r in res:
28-
for key in IGNORE_KEYS:
29-
r.pop(key, None)
3022
assert res == [data[2], data[0], data[1], data[3], data[4], data[5]]

0 commit comments

Comments
 (0)