Skip to content

Commit 97f0106

Browse files
committed
Fix item serializer
1 parent 850d0a4 commit 97f0106

File tree

2 files changed

+14
-19
lines changed

2 files changed

+14
-19
lines changed

src/superannotate/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import os
22
import sys
33

4-
__version__ = "4.4.1b2"
4+
__version__ = "4.4.1b3"
55

66
sys.path.append(os.path.split(os.path.realpath(__file__))[0])
77

src/superannotate/lib/core/usecases/items.py

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ def validate_project_type(self):
8989

9090
@staticmethod
9191
def serialize_entity(entity: BaseItemEntity, project: ProjectEntity):
92+
entity = BaseItemEntity(**BaseItemEntity.map_fields(entity.dict()))
9293
if project.upload_state != constants.UploadState.EXTERNAL.value:
9394
entity.url = None
9495
if project.type in (
@@ -123,8 +124,9 @@ def execute(self) -> Response:
123124
return self._response
124125
entity = next((i for i in response.data if i.name == self._item_name), None)
125126
if entity:
127+
entity = self.serialize_entity(entity, self._project)
126128
entity.add_path(self._project.name, self._folder.name)
127-
self._response.data = self.serialize_entity(entity, self._project)
129+
self._response.data = entity
128130
else:
129131
self._response.errors = AppException("Item not found.")
130132
return self._response
@@ -208,7 +210,7 @@ def execute(self) -> Response:
208210
data = []
209211
for i, item in enumerate(service_response.data):
210212
tmp_item = GetItem.serialize_entity(
211-
BaseItemEntity(**BaseItemEntity.map_fields(item)), self._project
213+
item, self._project
212214
)
213215
folder_path = f"{'/' + item['folder_name'] if not item['is_root_folder'] else ''}"
214216
tmp_item.path = f"{self._project.name}" + folder_path
@@ -266,13 +268,11 @@ def execute(self) -> Response:
266268
)
267269
if not items_response.ok:
268270
raise AppException(items_response.error)
269-
items = [
270-
GetItem.serialize_entity(
271-
item.add_path(self._project.name, self._folder.name),
272-
self._project,
273-
)
274-
for item in items_response.data
275-
]
271+
items = []
272+
for item in items_response.data:
273+
item = GetItem.serialize_entity(item, self._project)
274+
item.add_path(self._project.name, self._folder.name)
275+
items.append(item)
276276
else:
277277
items = []
278278
folders = self._folders.get_all(
@@ -289,15 +289,10 @@ def execute(self) -> Response:
289289
)
290290
if not response.ok:
291291
raise AppException(response.error)
292-
items.extend(
293-
[
294-
GetItem.serialize_entity(
295-
item.add_path(self._project.name, folder.name),
296-
self._project,
297-
)
298-
for item in response.data
299-
]
300-
)
292+
for item in response.data:
293+
item = GetItem.serialize_entity(item, self._project)
294+
item.add_path(self._project.name, folder.name)
295+
items.append(item)
301296
self._response.data = items
302297
return self._response
303298

0 commit comments

Comments
 (0)