Skip to content

Commit d9511b0

Browse files
VaghinakDevVaghinak Basentsyan
authored andcommitted
Update __init__.py
1 parent de59c72 commit d9511b0

File tree

7 files changed

+24
-18
lines changed

7 files changed

+24
-18
lines changed

src/superannotate/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import logging.config
22
import os
3+
import sys
34

45
from superannotate.lib.app.analytics.class_analytics import attribute_distribution
56
from superannotate.lib.app.analytics.class_analytics import class_distribution
@@ -295,6 +296,6 @@
295296

296297

297298
file_dir = os.path.split(os.path.realpath(__file__))[0]
298-
299+
sys.path.append(file_dir)
299300
logging.config.fileConfig(os.path.join(file_dir, "logging.conf"))
300301
logger = logging.getLogger()

src/superannotate/lib/core/entities.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ def __init__(
6060
settings: List = None,
6161
annotation_classes: List = None,
6262
workflow: List = None,
63+
completed_images_count: int = None,
6364
root_folder_completed_images_count: int = None,
6465
):
6566
super().__init__(uuid)
@@ -80,6 +81,7 @@ def __init__(
8081
self.settings = settings
8182
self.annotation_classes = annotation_classes
8283
self.workflow = workflow
84+
self.completed_images_count = completed_images_count
8385
self.root_folder_completed_images_count = root_folder_completed_images_count
8486

8587
def __copy__(self):
@@ -110,6 +112,7 @@ def to_dict(self):
110112
"folder_id": self.folder_id,
111113
"upload_state": self.upload_state,
112114
"users": self.users,
115+
"completed_images_count": self.completed_images_count,
113116
"rootFolderCompletedImagesCount": self.root_folder_completed_images_count,
114117
}
115118

src/superannotate/lib/infrastructure/controller.py

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -212,21 +212,16 @@ def get_folder_name(name: str = None):
212212
return name
213213
return "root"
214214

215-
def search_project(self, name: str, **kwargs) -> Response:
216-
conditions = []
215+
def search_project(
216+
self, name: str = None, include_complete_image_count=False
217+
) -> Response:
218+
condition = Condition.get_empty_condition()
217219
if name:
218-
conditions.append(Condition("name", name, EQ))
219-
for key, val in kwargs.items():
220-
conditions.append(Condition(key, val, EQ))
221-
condition_set = None
222-
if conditions:
223-
for condition in conditions:
224-
if condition_set:
225-
condition_set &= condition
226-
else:
227-
condition_set = condition
220+
condition = condition & (Condition("name", name, EQ))
221+
if include_complete_image_count:
222+
condition = condition & Condition("completeImagesCount", "true", EQ)
228223
use_case = usecases.GetProjectsUseCase(
229-
condition=condition_set, projects=self.projects, team_id=self.team_id,
224+
condition=condition, projects=self.projects, team_id=self.team_id,
230225
)
231226
return use_case.execute()
232227

src/superannotate/lib/infrastructure/repositories.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ def dict2entity(data: dict):
127127
description=data["description"],
128128
folder_id=data.get("folder_id"),
129129
users=data.get("users", ()),
130+
completed_images_count=data.get("completedImagesCount"),
130131
root_folder_completed_images_count=data.get(
131132
"rootFolderCompletedImagesCount"
132133
),

tests/integration/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
import os
22
import sys
33

4-
sys.path.insert(0, os.path.join(sys.path[0], "src/superannotate"))
4+
sys.path.insert(0, os.path.join(sys.path[0], "src/superannotate"))

tests/integration/test_interface.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,4 +85,10 @@ def test_get_project_settings(self):
8585
for elem in data:
8686
if elem["attribute"] == "ImageQuality":
8787
self.assertEqual(elem["value"], "original")
88-
break
88+
break
89+
90+
def test_search_project(self):
91+
sa.upload_images_from_folder_to_project(self.PROJECT_NAME, self.folder_path)
92+
sa.set_image_annotation_status(self.PROJECT_NAME, self.EXAMPLE_IMAGE_1, "Completed")
93+
data = sa.search_projects(self.PROJECT_NAME, return_metadata=True, include_complete_image_count=True)
94+
self.assertIsNotNone(data[0]['completed_images_count'])

tox.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
isolated_build = True
33

44
envlist =
5-
py{38}
5+
py{36}
66

77
[testenv]
88
usedevelop = true
@@ -48,7 +48,7 @@ deps =
4848
basepython =
4949
python3
5050
commands =
51-
pytest -q --cov-report term --cov='src/superannotate' --cov-fail-under=80 {posargs}
51+
pytest -q --cov-report term --cov='src/' --cov-fail-under=80 {posargs}
5252

5353
[testenv:pre-commit]
5454
deps =

0 commit comments

Comments
 (0)