Skip to content

Commit e5c6a58

Browse files
authored
Merge pull request #255 from Labelbox/jtso/list_bir
Jtso/list bir
2 parents 8e11ab8 + 0c974d6 commit e5c6a58

File tree

2 files changed

+47
-10
lines changed

2 files changed

+47
-10
lines changed

labelbox/schema/project.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -582,6 +582,26 @@ def enable_model_assisted_labeling(self, toggle: bool = True) -> bool:
582582
return res["project"]["showPredictionsToLabelers"][
583583
"showingPredictionsToLabelers"]
584584

585+
def bulk_import_requests(self):
586+
""" Returns bulk import request objects which are used in model-assisted labeling.
587+
These are returned with the oldest first, and most recent last.
588+
"""
589+
590+
id_param = "project_id"
591+
query_str = """query ListAllImportRequestsPyApi($%s: ID!) {
592+
bulkImportRequests (
593+
where: { projectId: $%s }
594+
skip: %%d
595+
first: %%d
596+
) {
597+
%s
598+
}
599+
}""" % (id_param, id_param,
600+
query.results_query_part(Entity.BulkImportRequest))
601+
return PaginatedCollection(self.client, query_str,
602+
{id_param: str(self.uid)},
603+
["bulkImportRequests"], BulkImportRequest)
604+
585605
def upload_annotations(
586606
self,
587607
name: str,

tests/integration/bulk_import/test_bulk_import_request.py

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -149,21 +149,38 @@ def assert_file_content(url: str, predictions):
149149
assert response.text == ndjson.dumps(predictions)
150150

151151

152-
def test_delete(client, configured_project, predictions):
152+
def test_project_bulk_import_requests(client, configured_project, predictions):
153+
result = configured_project.bulk_import_requests()
154+
assert len(list(result)) == 0
155+
156+
name = str(uuid.uuid4())
157+
bulk_import_request = configured_project.upload_annotations(
158+
name=name, annotations=predictions)
159+
bulk_import_request.wait_until_done()
153160

154-
id_param = "project_id"
155-
query_str = """query bulk_import_requestsPyApi($%s: ID!) {bulkImportRequests(where: {projectId: $%s}) {id}}""" % (
156-
id_param, id_param)
161+
name = str(uuid.uuid4())
162+
bulk_import_request = configured_project.upload_annotations(
163+
name=name, annotations=predictions)
164+
bulk_import_request.wait_until_done()
165+
166+
name = str(uuid.uuid4())
167+
bulk_import_request = configured_project.upload_annotations(
168+
name=name, annotations=predictions)
169+
bulk_import_request.wait_until_done()
170+
171+
result = configured_project.bulk_import_requests()
172+
assert len(list(result)) == 3
173+
174+
175+
def test_delete(client, configured_project, predictions):
157176
name = str(uuid.uuid4())
158177

159178
bulk_import_request = configured_project.upload_annotations(
160179
name=name, annotations=predictions)
161180
bulk_import_request.wait_until_done()
162-
all_import_requests = client.execute(query_str,
163-
{id_param: configured_project.uid})
164-
assert len(all_import_requests['bulkImportRequests']) == 1
181+
all_import_requests = configured_project.bulk_import_requests()
182+
assert len(list(all_import_requests)) == 1
165183

166184
bulk_import_request.delete()
167-
all_import_requests = client.execute(query_str,
168-
{id_param: configured_project.uid})
169-
assert len(all_import_requests['bulkImportRequests']) == 0
185+
all_import_requests = configured_project.bulk_import_requests()
186+
assert len(list(all_import_requests)) == 0

0 commit comments

Comments
 (0)