Skip to content

Commit 4648949

Browse files
committed
Folders test simple
1 parent 61f0a96 commit 4648949

File tree

3 files changed

+52
-16
lines changed

3 files changed

+52
-16
lines changed

superannotate/db/images.py

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def search_images(
8181
image_name_prefix=None,
8282
annotation_status=None,
8383
return_metadata=False,
84-
folder_name=None
84+
folder=None
8585
):
8686
"""Search images by name_prefix (case-insensitive) and annotation status
8787
@@ -107,8 +107,8 @@ def search_images(
107107
annotation_status
108108
)
109109

110-
if folder_name is not None:
111-
folder = get_folder_metadata(project, folder_name)
110+
if folder is not None:
111+
folder = get_folder_metadata(project, folder)
112112
folder_id = folder["id"]
113113
else:
114114
folder_id = None
@@ -124,6 +124,7 @@ def search_images(
124124
if image_name_prefix is not None:
125125
params['name'] = image_name_prefix
126126
total_got = 0
127+
total_images = 0
127128
while True:
128129
response = _api.send_request(
129130
req_type='GET', path='/images', params=params
@@ -136,24 +137,18 @@ def search_images(
136137
images = response["images"]
137138
folders = response["folders"]
138139

139-
image_count = images["count"]
140-
folder_count = folders["count"]
141-
142140
results_images = images["data"]
143-
total_got += len(results_images) + len(folders["data"])
144141
for r in results_images:
145142
if return_metadata:
146143
result_list.append(r)
147144
else:
148145
result_list.append(r["name"])
149146

150-
if image_count + folder_count <= total_got:
147+
total_images += len(results_images)
148+
if images["count"] <= total_images:
151149
break
150+
total_got += len(results_images) + len(folders["data"])
152151
params["offset"] = total_got
153-
# print(
154-
# "Got to ", len(result_list),
155-
# response.json()["count"], len(new_results), params['offset']
156-
# )
157152

158153
if return_metadata:
159154

@@ -199,7 +194,7 @@ def search_folders(project, folder_name=None, return_metadata=False):
199194
folders = response["folders"]
200195

201196
results_folders = folders["data"]
202-
for r in folders["data"]:
197+
for r in results_folders:
203198
if folder_name is not None and r["name"] != folder_name:
204199
continue
205200
if return_metadata:

superannotate/db/projects.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -816,9 +816,7 @@ def upload_images_to_project(
816816
)
817817
if len_img_paths == 0:
818818
return ([], [], duplicate_images)
819-
params = {
820-
'team_id': team_id,
821-
}
819+
params = {'team_id': team_id}
822820
uploaded = [[] for _ in range(_NUM_THREADS)]
823821
tried_upload = [[] for _ in range(_NUM_THREADS)]
824822
couldnt_upload = [[] for _ in range(_NUM_THREADS)]

tests/test_folders.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
from pathlib import Path
2+
import json
3+
4+
import pytest
5+
6+
import superannotate as sa
7+
8+
PROJECT_NAME1 = "test folder simple"
9+
FROM_FOLDER = "./tests/sample_project_vector"
10+
11+
12+
def test_basic_folders(tmpdir):
13+
tmpdir = Path(tmpdir)
14+
15+
projects_found = sa.search_projects(PROJECT_NAME1, return_metadata=True)
16+
for pr in projects_found:
17+
sa.delete_project(pr)
18+
19+
project = sa.create_project(PROJECT_NAME1, 'test', 'Vector')
20+
sa.upload_images_from_folder_to_project(
21+
project, FROM_FOLDER, annotation_status="InProgress"
22+
)
23+
images = sa.search_images(project, "example_image_1")
24+
assert len(images) == 1
25+
26+
folders = sa.search_folders(project)
27+
assert len(folders) == 0
28+
29+
folder_metadata = sa.create_folder(project, "folder1")
30+
assert folder_metadata["name"] == "folder1"
31+
32+
folders = sa.search_folders(project, return_metadata=True)
33+
assert len(folders) == 1
34+
35+
assert folders[0]["name"] == "folder1"
36+
37+
folders = sa.search_folders(project)
38+
assert len(folders) == 1
39+
40+
assert folders[0] == "folder1"
41+
42+
images = sa.search_images(project, "example_image_1", folder="folder1")
43+
assert len(images) == 0

0 commit comments

Comments
 (0)