Skip to content

Commit cefff9f

Browse files
authored
Merge pull request #238 from Labelbox/jtso/delete_bir
creating a delete method for bulk import requests
2 parents a83905d + 53ed6e4 commit cefff9f

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

labelbox/schema/bulk_import_request.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,21 @@ def create_from_local_file(cls,
386386
file_name, file_data)
387387
return cls(client, response_data["createBulkImportRequest"])
388388

389+
def delete(self) -> None:
390+
""" Deletes the import job and also any annotations created by this import.
391+
392+
Returns:
393+
None
394+
"""
395+
id_param = "bulk_request_id"
396+
query_str = """mutation deleteBulkImportRequestPyApi($%s: ID!) {
397+
deleteBulkImportRequest(where: {id: $%s}) {
398+
id
399+
name
400+
}
401+
}""" % (id_param, id_param)
402+
self.client.execute(query_str, {id_param: self.uid})
403+
389404

390405
def _validate_ndjson(lines: Iterable[Dict[str, Any]],
391406
project: "labelbox.Project") -> None:

tests/integration/bulk_import/test_bulk_import_request.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,3 +147,23 @@ def test_wait_till_done(rectangle_inference, configured_project):
147147
def assert_file_content(url: str, predictions):
148148
response = requests.get(url)
149149
assert response.text == ndjson.dumps(predictions)
150+
151+
152+
def test_delete(client, configured_project, predictions):
153+
154+
id_param = "project_id"
155+
query_str = """query bulk_import_requestsPyApi($%s: ID!) {bulkImportRequests(where: {projectId: $%s}) {id}}""" % (
156+
id_param, id_param)
157+
name = str(uuid.uuid4())
158+
159+
bulk_import_request = configured_project.upload_annotations(
160+
name=name, annotations=predictions)
161+
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
165+
166+
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

0 commit comments

Comments
 (0)