Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
bd33fc1
adding .vscode to .gitignore
Mirkazemi Mar 3, 2021
4145ff9
Adding delete_dataset() to datasets/functions.py
Mirkazemi Mar 3, 2021
4320c89
Adding delete_dataset() to datasets/__init__.py
Mirkazemi Mar 3, 2021
06e4a03
Adding delete_flow() to flows/functions.py
Mirkazemi Mar 3, 2021
5ad6af6
Adding delete_flow to flows/__init__.py
Mirkazemi Mar 3, 2021
83b1bf1
Adding delete_task() to task/functions.py
Mirkazemi Mar 3, 2021
9567927
Adding delete_task() to tasks/__init__.py
Mirkazemi Mar 3, 2021
f8c0f7d
Adding delete_run() to runs/functions.py
Mirkazemi Mar 3, 2021
9308a5e
Adding delete_run() to runs/__init__.py
Mirkazemi Mar 3, 2021
a3b1688
Adding 'test_delete_run()' to the unit test
Mirkazemi Apr 1, 2021
33f0f37
adding test_delete_flow to the unit tests
Mirkazemi Apr 1, 2021
c2cfeaa
Correction of test_delete_flow unit test
Mirkazemi Apr 1, 2021
e9ade63
Add test_delete_dataset() unit test for deleting database
Mirkazemi Apr 20, 2021
993b12a
pre-commit changes
Mirkazemi Apr 20, 2021
2030127
adding delete functions for run, task, flow and database to the api.rst
Mirkazemi Apr 20, 2021
bb922a5
Adding delete_task() to task/functions.py
Mirkazemi Mar 3, 2021
0c18ab9
pre-commit changes
Mirkazemi Apr 20, 2021
ebcd522
[no ci] Update docstring to specify when the entity can be deleted
PGijsbers Feb 23, 2023
7d0ce66
Add responses from OpenML Server for task delete
PGijsbers Feb 24, 2023
1210f11
Add OpenMLUnauthorizedError for fail on authenticated request
PGijsbers Feb 24, 2023
09db140
Improve error messaging for expected errors
PGijsbers Feb 24, 2023
5e061d3
Add tests for task delete
PGijsbers Feb 24, 2023
bba3cdf
Improve documentation and test for forwarding server errors
PGijsbers Mar 3, 2023
926f146
Document unwrapped error codes and add explicit 455 error
PGijsbers Mar 3, 2023
f4fc886
Add test for attempting to delete a task that doesnt exist
PGijsbers Mar 3, 2023
ebc5630
Move cached server responses to dedicated directory
PGijsbers Mar 3, 2023
7efb78c
Move exception wrapping down one level
PGijsbers Mar 3, 2023
7ab3d26
Centralize error wrapping for delete calls
PGijsbers Mar 6, 2023
610b0a3
Switch to Pytest style for new tests
PGijsbers Mar 6, 2023
96869c4
Add dataset delete tests
PGijsbers Mar 6, 2023
0d387b3
Add flow delete tests
PGijsbers Mar 6, 2023
230035b
Extract response creation
PGijsbers Mar 6, 2023
cff3c46
HTTP status code should always be 412, openml code is in xml
PGijsbers Mar 14, 2023
382d1eb
HTTP status code should always be 412, openml code is in xml
PGijsbers Mar 14, 2023
b007127
Rename mock_get to mock_delete
PGijsbers Mar 17, 2023
fef5cbe
Add test server api key as fixture
PGijsbers Mar 17, 2023
8a33619
Merge branch 'issue_1028' of https://github.com/Mirkazemi/openml-pyth…
PGijsbers Mar 17, 2023
d387216
Add run delete tests
PGijsbers Mar 17, 2023
7dc3cdf
Merge branch 'develop' into issue_1028
PGijsbers Mar 20, 2023
54cfcda
Remove one of duplicate pytest import statement
PGijsbers Mar 20, 2023
d725c1a
[no ci] Deleting tasks, runs, datasets, and flows
PGijsbers Mar 21, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Improve error messaging for expected errors
  • Loading branch information
PGijsbers committed Feb 24, 2023
commit 09db1404a5609bd92645b97ca64a21985fe62d71
20 changes: 18 additions & 2 deletions openml/tasks/functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import pandas as pd
import xmltodict

from ..exceptions import OpenMLCacheException
from ..exceptions import OpenMLCacheException, OpenMLServerException, OpenMLNotAuthorizedError
from ..datasets import get_dataset
from .task import (
OpenMLClassificationTask,
Expand Down Expand Up @@ -563,4 +563,20 @@ def delete_task(task_id: int) -> bool:
bool
True if the deletion was successful. False otherwise.
"""
return openml.utils._delete_entity("task", task_id)
try:
return openml.utils._delete_entity("task", task_id)
except OpenMLServerException as e:
# https://github.com/openml/OpenML/blob/21f6188d08ac24fcd2df06ab94cf421c946971b0/openml_OS/views/pages/api_new/v1/xml/pre.php#L234-L239 # noqa: 501
if e.code == 453:
raise OpenMLNotAuthorizedError(
message="The task can not be deleted because it was not uploaded by you.",
code=e.code,
url=e.url,
)
if e.code == 454:
raise OpenMLNotAuthorizedError(
message="The task can not be deleted because it still has associated runs.",
code=e.code,
url=e.url,
)
raise