Skip to content

Commit 9ee7588

Browse files
committed
impl task count api
1 parent fd7873d commit 9ee7588

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1879,7 +1879,7 @@ Example of a single dicom task object
18791879

18801880
### Common
18811881

1882-
APIs for update and delete are same over all tasks.
1882+
APIs for update and delete and count are same over all tasks.
18831883

18841884
#### Update Task
18851885

@@ -1916,6 +1916,15 @@ client.delete_task_annotations(task_id="YOUR_TASK_ID")
19161916
id_name_map = client.get_task_id_name_map(project="YOUR_PROJECT_SLUG")
19171917
```
19181918

1919+
#### Count Task
1920+
```python
1921+
task_count = client.count_tasks(
1922+
project="YOUR_PROJECT_SLUG",
1923+
status="approved", # status can be 'pending', 'registered', 'completed', 'skipped', 'reviewed' 'sent_back', 'approved', 'declined'
1924+
tags=["tag1", "tag2"] # up to 10 tags
1925+
)
1926+
```
1927+
19191928
#### Create Task from S3
19201929

19211930
Task creation from S3.

fastlabel/__init__.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,34 @@ def find_history(self, history_id: str) -> dict:
292292

293293
# Task Get
294294

295+
def count_tasks(
296+
self,
297+
project: str,
298+
status: str = None,
299+
external_status: str = None,
300+
tags: list = None,
301+
) -> int:
302+
"""
303+
Returns task count.
304+
305+
project is slug of your project (Required).
306+
status can be 'registered', 'completed', 'skipped',
307+
'reviewed', 'sent_back', 'approved', 'declined'. (Optional)
308+
external_status can be 'registered', 'completed', 'skipped',
309+
'reviewed', 'sent_back', 'approved', 'declined',
310+
'customer_declined' (Optional).
311+
tags is a list of tag (Optional).
312+
"""
313+
endpoint = "tasks/count"
314+
params = {"project": project}
315+
if status:
316+
params["status"] = status
317+
if external_status:
318+
params["externalStatus"] = external_status
319+
if tags:
320+
params["tags"] = tags
321+
return self.api.get_request(endpoint, params=params)
322+
295323
def get_image_tasks(
296324
self,
297325
project: str,

0 commit comments

Comments
 (0)