Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion src/superannotate/lib/app/interface/sdk_interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -2779,7 +2779,6 @@ def attach_items(
if response.errors:
raise AppException(response.errors)
uploaded, duplicated = response.data
uploaded = [i["name"] for i in uploaded]
fails = [
attachment.name
for attachment in unique_attachments
Expand Down
5 changes: 5 additions & 0 deletions src/superannotate/lib/core/service_types.py
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,11 @@ def error(self):
else:
return getattr(self.data, "error", default_message)

def set_error(self, value: Union[dict, str]):
if isinstance(value, dict) and "error" in value:
self._error = value["error"]
self._error = value


class TeamResponse(ServiceResponse):
data: entities.TeamEntity = None
Expand Down
2 changes: 1 addition & 1 deletion src/superannotate/lib/core/usecases/items.py
Original file line number Diff line number Diff line change
Expand Up @@ -423,7 +423,7 @@ def execute(self) -> Response:
if not backend_response.ok:
self._response.errors = AppException(backend_response.error)
else:
attached.extend(backend_response.data)
attached.extend([i.name for i in to_upload])
self.reporter.update_progress(len(attachments))
self.reporter.finish_progress()
self._response.data = attached, duplications
Expand Down
15 changes: 9 additions & 6 deletions src/superannotate/lib/infrastructure/services/http_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,24 +143,24 @@ def paginate(

while True:
_url = f"{url}{splitter}offset={offset}"
response = self.request(
_response = self.request(
_url,
method="get",
item_type=List[item_type],
params=query_params,
)
if response.ok:
if isinstance(response.data, dict):
data = response.data.get(dispatcher)
if _response.ok:
if isinstance(_response.data, dict):
data = _response.data.get(dispatcher)
else:
data = response.data
data = _response.data
if data:
total.extend(data)
else:
break
data_len = len(data)
offset += data_len
if data_len < chunk_size or response.count - offset < 0:
if data_len < chunk_size or _response.count - offset < 0:
break
else:
break
Expand All @@ -170,4 +170,7 @@ def paginate(
)
else:
response = ServiceResponse(data=total)
if not _response.ok:
response.set_error(_response.error)
response.status = _response.status
return response
3 changes: 2 additions & 1 deletion tests/integration/items/test_get_item_metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
from pathlib import Path

from src.superannotate import SAClient
sa = SAClient()
from tests.integration.base import BaseTestCase

sa = SAClient()


class TestGetEntityMetadataVector(BaseTestCase):
PROJECT_NAME = "TestGetEntityMetadataVector"
Expand Down