Skip to content

Commit b99b8f7

Browse files
committed
project request bir
1 parent 483bdc4 commit b99b8f7

File tree

3 files changed

+63
-15
lines changed

3 files changed

+63
-15
lines changed

labelbox/schema/project.py

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,9 @@ def labels(self, datasets=None, order_by=None):
126126
id_param, id_param, where, order_by_str,
127127
query.results_query_part(Label))
128128

129-
return PaginatedCollection(self.client, query_str, {id_param: self.uid},
130-
["project", "labels"], Label)
129+
return PaginatedCollection(self.client, query_str,
130+
{id_param: self.uid}, ["project", "labels"],
131+
Label)
131132

132133
def export_queued_data_rows(self, timeout_seconds=120):
133134
""" Returns all data rows that are currently enqueued for this project.
@@ -368,11 +369,13 @@ def create_labeler_performance(client, result):
368369
# python isoformat doesn't accept Z as utc timezone
369370
result["lastActivityTime"] = datetime.fromisoformat(
370371
result["lastActivityTime"].replace('Z', '+00:00'))
371-
return LabelerPerformance(
372-
**
373-
{utils.snake_case(key): value for key, value in result.items()})
372+
return LabelerPerformance(**{
373+
utils.snake_case(key): value
374+
for key, value in result.items()
375+
})
374376

375-
return PaginatedCollection(self.client, query_str, {id_param: self.uid},
377+
return PaginatedCollection(self.client, query_str,
378+
{id_param: self.uid},
376379
["project", "labelerPerformance"],
377380
create_labeler_performance)
378381

@@ -384,7 +387,7 @@ def review_metrics(self, net_score):
384387
Returns:
385388
int, aggregation count of reviews for given `net_score`.
386389
"""
387-
if net_score not in (None,) + tuple(Entity.Review.NetScore):
390+
if net_score not in (None, ) + tuple(Entity.Review.NetScore):
388391
raise InvalidQueryError(
389392
"Review metrics net score must be either None "
390393
"or one of Review.NetScore values")
@@ -509,8 +512,8 @@ def unset_labeling_parameter_overrides(self, data_rows):
509512
query_str = """mutation UnsetLabelingParameterOverridesPyApi($%s: ID!){
510513
project(where: { id: $%s}) {
511514
unsetLabelingParameterOverrides(data: [%s]) { success }}}""" % (
512-
id_param, id_param, ",\n".join(
513-
"{dataRowId: \"%s\"}" % row.uid for row in data_rows))
515+
id_param, id_param, ",\n".join("{dataRowId: \"%s\"}" % row.uid
516+
for row in data_rows))
514517
res = self.client.execute(query_str, {id_param: self.uid})
515518
return res["project"]["unsetLabelingParameterOverrides"]["success"]
516519

@@ -582,6 +585,25 @@ def enable_model_assisted_labeling(self, toggle: bool = True) -> bool:
582585
return res["project"]["showPredictionsToLabelers"][
583586
"showingPredictionsToLabelers"]
584587

588+
def bulk_import_requests(self):
589+
""" passpasspass
590+
"""
591+
592+
id_param = "project_id"
593+
query_str = """query ListAllImportRequestsPyApi($%s: ID!) {
594+
bulkImportRequests (
595+
where: { projectId: $%s }
596+
skip: %%d
597+
first: %%d
598+
) {
599+
%s
600+
}
601+
}""" % (id_param, id_param,
602+
query.results_query_part(Entity.BulkImportRequest))
603+
return PaginatedCollection(self.client, query_str,
604+
{id_param: str(self.uid)},
605+
["bulkImportRequests"], BulkImportRequest)
606+
585607
def upload_annotations(
586608
self,
587609
name: str,

tests/integration/bulk_import/test_bulk_import_request.py

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@ def test_create_from_url(configured_project):
1717
name = str(uuid.uuid4())
1818
url = "https://storage.googleapis.com/labelbox-public-bucket/predictions_test_v2.ndjson"
1919

20-
bulk_import_request = configured_project.upload_annotations(name=name,
21-
annotations=url,
22-
validate=False)
20+
bulk_import_request = configured_project.upload_annotations(
21+
name=name, annotations=url, validate=False)
2322

2423
assert bulk_import_request.project() == configured_project
2524
assert bulk_import_request.name == name
@@ -126,9 +125,8 @@ def test_wait_till_done(rectangle_inference, configured_project):
126125
url = configured_project.client.upload_data(content=ndjson.dumps(
127126
[rectangle_inference]),
128127
sign=True)
129-
bulk_import_request = configured_project.upload_annotations(name=name,
130-
annotations=url,
131-
validate=False)
128+
bulk_import_request = configured_project.upload_annotations(
129+
name=name, annotations=url, validate=False)
132130

133131
assert len(bulk_import_request.inputs) == 1
134132
bulk_import_request.wait_until_done()
@@ -149,6 +147,29 @@ def assert_file_content(url: str, predictions):
149147
assert response.text == ndjson.dumps(predictions)
150148

151149

150+
def test_bulk_import_requests(client, configured_project, predictions):
151+
result = configured_project.bulk_import_requests()
152+
assert len(list(result)) == 0
153+
154+
name = str(uuid.uuid4())
155+
bulk_import_request = configured_project.upload_annotations(
156+
name=name, annotations=predictions)
157+
bulk_import_request.wait_until_done()
158+
159+
name = str(uuid.uuid4())
160+
bulk_import_request = configured_project.upload_annotations(
161+
name=name, annotations=predictions)
162+
bulk_import_request.wait_until_done()
163+
164+
name = str(uuid.uuid4())
165+
bulk_import_request = configured_project.upload_annotations(
166+
name=name, annotations=predictions)
167+
bulk_import_request.wait_until_done()
168+
169+
result = configured_project.bulk_import_requests()
170+
assert len(list(result)) == 3
171+
172+
152173
def test_delete(client, configured_project, predictions):
153174

154175
id_param = "project_id"

tests/integration/test_project.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,3 +107,8 @@ def test_attach_instructions(client, project):
107107
def test_queued_data_row_export(configured_project):
108108
result = configured_project.export_queued_data_rows()
109109
assert len(result) == 1
110+
111+
112+
def test_bulk_import_requests(configured_project):
113+
result = configured_project.bulk_import_requests()
114+
assert len(list(result)) == 0

0 commit comments

Comments
 (0)