@@ -447,30 +447,35 @@ def _build_query(
447447 return query
448448
449449 @staticmethod
450- def _process_response (
450+ def process_response (
451451 service_provider ,
452452 items : List [BaseItemEntity ],
453453 project : ProjectEntity ,
454454 folder : FolderEntity ,
455+ replace_path : bool = True ,
455456 ) -> List [BaseItemEntity ]:
456457 """Process the response data and return a list of serialized items."""
457458 data = []
458459 for item in items :
459-
460- item = usecases .serialize_item_entity (item , project )
461- item = usecases .add_item_path (project , folder , item )
460+ if replace_path :
461+ item = usecases .serialize_item_entity (item , project )
462+ item = usecases .add_item_path (project , folder , item )
463+ else :
464+ item = usecases .serialize_item_entity (item , project , drop_path = False )
462465 item .annotation_status = service_provider .get_annotation_status_name (
463466 project , item .annotation_status
464467 )
465468 for assignment in item .assignments :
466- role_name = service_provider . get_role_name (
467- project , assignment [ "user_role" ]
468- )
469+ _role = "role" if "role" in assignment else "user_role"
470+ user_id = "email" if "email" in assignment else "user_id"
471+ role_name = service_provider . get_role_name ( project , assignment [ _role ] )
469472 if role_name == "QA" :
470- item .qa_email = assignment [" user_id" ]
473+ item .qa_email = assignment [user_id ]
471474 elif role_name == "Annotator" :
472- item .annotator_email = assignment [" user_id" ]
475+ item .annotator_email = assignment [user_id ]
473476 assignment ["user_role" ] = role_name
477+ assignment .pop ("role" , None )
478+ assignment .pop ("email" , None )
474479 data .append (item )
475480 return data
476481
@@ -487,7 +492,9 @@ def list_items(
487492 response = self .service_provider .item_service .list (project .id , folder .id , query )
488493 if response .error :
489494 raise AppException (response .error )
490- return self ._process_response (self .service_provider , project , folder )
495+ return self .process_response (
496+ self .service_provider , response .data , project , folder
497+ )
491498
492499 def attach (
493500 self ,
@@ -1351,6 +1358,6 @@ def query_entities(
13511358 if response .errors :
13521359 raise AppException (response .errors )
13531360 items = response .data
1354- return ItemManager ._process_response (
1355- self .service_provider , items , project , folder
1361+ return ItemManager .process_response (
1362+ self .service_provider , items , project , folder , replace_path = False
13561363 )
0 commit comments