Skip to content

Commit 2d81323

Browse files
VahagnTKAVaghinakDev
authored andcommitted
adressing PR change requests
1 parent 9979d89 commit 2d81323

File tree

2 files changed

+31
-42
lines changed

2 files changed

+31
-42
lines changed

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

Lines changed: 16 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1091,34 +1091,20 @@ async def download_small_annotations(self, queue_idx, export_path):
10911091
postfix = self.get_postfix()
10921092
while item is not None:
10931093
item = await cur_queue.get()
1094-
if not item:
1095-
await self._backend_client.download_small_annotations(
1096-
team_id=self._project.team_id,
1097-
project_id=self._project.id,
1098-
folder_id=self._folder.uuid,
1099-
items=items,
1100-
reporter=self.reporter,
1101-
download_path=f"{export_path}{'/' + self._folder.name if not self._folder.is_root else ''}",
1102-
postfix=postfix,
1103-
callback=self._callback,
1104-
)
1105-
await cur_queue.put(None)
1106-
break
1094+
if item:
1095+
items.append(item)
11071096

1108-
items.append(item)
1109-
if len(items) == max_chunk_size:
1110-
await self._backend_client.download_small_annotations(
1111-
team_id=self._project.team_id,
1112-
project_id=self._project.id,
1113-
folder_id=self._folder.uuid,
1114-
items=items,
1115-
reporter=self.reporter,
1116-
download_path=f"{export_path}{'/' + self._folder.name if not self._folder.is_root else ''}",
1117-
postfix=postfix,
1118-
callback=self._callback,
1119-
)
1120-
items = []
11211097

1098+
await self._backend_client.download_small_annotations(
1099+
team_id=self._project.team_id,
1100+
project_id=self._project.id,
1101+
folder_id=self._folder.uuid,
1102+
items=items,
1103+
reporter=self.reporter,
1104+
download_path=f"{export_path}{'/' + self._folder.name if not self._folder.is_root else ''}",
1105+
postfix=postfix,
1106+
callback=self._callback,
1107+
)
11221108

11231109
async def distribute_to_queues(self, item_names, sm_queue_id, l_queue_id, folder_id):
11241110

@@ -1212,11 +1198,11 @@ def execute(self):
12121198
new_export_path = export_path
12131199
if folder.name != 'root':
12141200
new_export_path += f'/{folder.name}'
1215-
executor.submit(self.per_folder_execute, item_names, folder.uuid, new_export_path)
1216-
1201+
future = executor.submit(self.per_folder_execute, item_names, folder.uuid, new_export_path)
1202+
futures.append(future)
12171203

1218-
for future in concurrent.futures.as_completed(futures):
1219-
print("asd")
1204+
for future in concurrent.futures.as_completed(futures):
1205+
pass
12201206

12211207

12221208
self.reporter.stop_spinner()

src/superannotate/lib/infrastructure/services.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ class BaseBackendService(SuperannotateServiceProvider):
5656
PAGINATE_BY = 100
5757
LIMIT = 100
5858
MAX_ITEMS_COUNT = 50 * 1000
59+
ASSETS_PROVIDER_VERSION = 'v2'
5960

6061
"""
6162
Base service class
@@ -79,12 +80,14 @@ def __init__(
7980
self._testing = testing
8081
self.get_session()
8182

82-
def get_assets_provider_url(self, version = 'v2'):
83+
84+
@property
85+
def assets_provider_url(self):
8386
if self.api_url != constants.BACKEND_URL:
84-
return f"https://assets-provider.devsuperannotate.com/api/{version}/"
85-
return f"https://assets-provider.superannotate.com/api/{version}/"
87+
return f"https://assets-provider.devsuperannotate.com/api/{self.ASSETS_PROVIDER_VERSION}/"
88+
return f"https://assets-provider.superannotate.com/api/{self.ASSETS_PROVIDER_VERSION}/"
89+
8690

87-
assets_provider_url = property(get_assets_provider_url)
8891

8992

9093
@lru_cache(maxsize=32)
@@ -314,8 +317,9 @@ class SuperannotateBackendService(BaseBackendService):
314317
URL_START_FILE_SYNC = "items/{item_id}/annotations/sync"
315318
URL_START_FILE_SYNC_STATUS = "items/{item_id}/annotations/sync/status"
316319
URL_CLASSIFY_ITEM_SIZE = "items/annotations/download/method"
317-
URL_SYNC_LARGE_ANNOTATION = "items/{}/annotations/sync"
318-
URL_SYNC_LARGE_ANNOTATION_STATUS = "items/{}/annotations/sync/status"
320+
URL_SYNC_LARGE_ANNOTATION = "items/{item_id}/annotations/sync"
321+
URL_SYNC_LARGE_ANNOTATION_STATUS = "items/{item_id}/annotations/sync/status"
322+
URL_DOWNLOAD_LARGE_ANNOTATION = "items/{item_id}/annotations/download"
319323

320324
def upload_priority_scores(
321325
self, team_id: int, project_id: int, folder_id: int, priorities: list
@@ -1172,7 +1176,7 @@ async def download_big_annotation(
11721176
"version":"V1.00"
11731177
}
11741178

1175-
url = urljoin(self.get_assets_provider_url('v1.01'), f'items/{item_id}/annotations/download')
1179+
url = urljoin(self.assets_provider_url, self.URL_DOWNLOAD_LARGE_ANNOTATION.format(item_id=item_id))
11761180

11771181
sync_params = {
11781182
"team_id": team_id,
@@ -1184,7 +1188,7 @@ async def download_big_annotation(
11841188
"desired_source":"secondary"
11851189
}
11861190

1187-
sync_url = urljoin(self.get_assets_provider_url('v2'), self.URL_SYNC_LARGE_ANNOTATION.format(item_id))
1191+
sync_url = urljoin(self.assets_provider_url, self.URL_SYNC_LARGE_ANNOTATION.format(item_id=item_id))
11881192

11891193
res = self._request(
11901194
url = sync_url,
@@ -1198,7 +1202,7 @@ async def download_big_annotation(
11981202

11991203
synced = False
12001204

1201-
sync_status_url = urljoin(self.get_assets_provider_url('v2'), self.URL_SYNC_LARGE_ANNOTATION_STATUS.format(item_id))
1205+
sync_status_url = urljoin(self.assets_provider_url, self.URL_SYNC_LARGE_ANNOTATION_STATUS.format(item_id=item_id))
12021206
while synced != 'SUCCESS':
12031207
synced = self._request(
12041208
url = sync_status_url,
@@ -1209,7 +1213,7 @@ async def download_big_annotation(
12091213

12101214

12111215
async with aiohttp.ClientSession(
1212-
connector=aiohttp.TCPConnector(ssl=False), headers = self.default_headers
1216+
connector=aiohttp.TCPConnector(ssl=False), headers = self.default_headers,
12131217
) as session:
12141218

12151219
start_response = await session.post(
@@ -1249,7 +1253,6 @@ async def download_small_annotations(
12491253
callback=callback,
12501254
)
12511255

1252-
Path(download_path).mkdir(exist_ok=True, parents=True)
12531256
return await handler.download_data(
12541257
url=urljoin(self.assets_provider_url, self.URL_GET_ANNOTATIONS),
12551258
data=items,
@@ -1594,7 +1597,7 @@ def sort_items_by_size(self, item_names, team_id, project_id, folder_id):
15941597
}
15951598

15961599
url = urljoin(
1597-
self.get_assets_provider_url('v2'), 'items/annotations/download/method'
1600+
self.assets_provider_url, self.URL_CLASSIFY_ITEM_SIZE
15981601
)
15991602

16001603
body = {

0 commit comments

Comments
 (0)