Skip to content

Commit ec62cfa

Browse files
committed
Updated saqul serialzier
1 parent e0d9a57 commit ec62cfa

File tree

3 files changed

+23
-21
lines changed

3 files changed

+23
-21
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ __pycache__/
1313
# Distribution / packaging
1414
.Python
1515
build/
16+
1617
develop-eggs/
1718
dist/
1819
downloads/

src/superannotate/lib/app/interface/sdk_interface.py

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2478,20 +2478,11 @@ def query(
24782478
:rtype: list of dicts
24792479
"""
24802480
project_name, folder_name = extract_project_folder(project)
2481-
response = self.controller.query_entities(
2482-
project_name, folder_name, query, subset
2483-
)
2484-
if response.errors:
2485-
raise AppException(response.errors)
2486-
project = self.controller.get_project(project_name)
2487-
items = BaseSerializer.serialize_iterable(response.data, exclude={"meta"})
2488-
for i in items:
2489-
i[
2490-
"annotation_status"
2491-
] = self.controller.service_provider.get_annotation_status_name(
2492-
project, i["annotation_status"]
2493-
)
2494-
return items
2481+
items = self.controller.query_entities(project_name, folder_name, query, subset)
2482+
exclude = {
2483+
"meta",
2484+
}
2485+
return BaseSerializer.serialize_iterable(items, exclude=exclude)
24952486

24962487
def get_item_metadata(
24972488
self,

src/superannotate/lib/infrastructure/controller.py

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -446,20 +446,24 @@ def _build_query(
446446
query &= Join(i)
447447
return query
448448

449+
@staticmethod
449450
def _process_response(
450-
self, items: List[BaseItemEntity], project: ProjectEntity, folder: FolderEntity
451-
) -> List[dict]:
451+
service_provider,
452+
items: List[BaseItemEntity],
453+
project: ProjectEntity,
454+
folder: FolderEntity,
455+
) -> List[BaseItemEntity]:
452456
"""Process the response data and return a list of serialized items."""
453457
data = []
454458
for item in items:
455459

456460
item = usecases.serialize_item_entity(item, project)
457461
item = usecases.add_item_path(project, folder, item)
458-
item.annotation_status = self.service_provider.get_annotation_status_name(
462+
item.annotation_status = service_provider.get_annotation_status_name(
459463
project, item.annotation_status
460464
)
461465
for assignment in item.assignments:
462-
role_name = self.service_provider.get_role_name(
466+
role_name = service_provider.get_role_name(
463467
project, assignment["user_role"]
464468
)
465469
if role_name == "QA":
@@ -483,7 +487,7 @@ def list_items(
483487
response = self.service_provider.item_service.list(project.id, folder.id, query)
484488
if response.error:
485489
raise AppException(response.error)
486-
return self._process_response(response.data, project, folder)
490+
return self._process_response(self.service_provider, project, folder)
487491

488492
def attach(
489493
self,
@@ -1331,7 +1335,7 @@ def get_annotations_per_frame(
13311335

13321336
def query_entities(
13331337
self, project_name: str, folder_name: str, query: str = None, subset: str = None
1334-
):
1338+
) -> List[BaseItemEntity]:
13351339
project = self.get_project(project_name)
13361340
folder = self.get_folder(project, folder_name)
13371341

@@ -1343,4 +1347,10 @@ def query_entities(
13431347
subset=subset,
13441348
service_provider=self.service_provider,
13451349
)
1346-
return use_case.execute()
1350+
response = use_case.execute()
1351+
if response.errors:
1352+
raise AppException(response.errors)
1353+
items = response.data
1354+
return ItemManager._process_response(
1355+
self.service_provider, items, project, folder
1356+
)

0 commit comments

Comments
 (0)