Skip to content

Commit 9e680af

Browse files
committed
ADD function populate cache
1 parent a5cb405 commit 9e680af

2 files changed

Lines changed: 42 additions & 3 deletions

File tree

openml/__init__.py

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,52 @@
1818

1919
from .datasets import OpenMLDataset, OpenMLDataFeature
2020
from . import datasets
21+
from . import tasks
2122
from . import runs
2223
from . import flows
2324
from .runs import OpenMLRun
2425
from .tasks import OpenMLTask, OpenMLSplit
2526
from .flows import OpenMLFlow
2627

28+
__version__ = "0.3.0"
29+
30+
31+
def populate_cache(task_ids=None, dataset_ids=None, flow_ids=None,
32+
run_ids=None):
33+
"""
34+
Populate a cache for offline and parallel usage of the OpenML connector.
35+
36+
Parameters
37+
----------
38+
task_ids : iterable
39+
40+
dataset_ids : iterable
41+
42+
flow_ids : iterable
43+
44+
run_ids : iterable
45+
46+
Returns
47+
-------
48+
None
49+
"""
50+
if task_ids is not None:
51+
for task_id in task_ids:
52+
tasks.functions.get_task(task_id)
53+
54+
if dataset_ids is not None:
55+
for dataset_id in dataset_ids:
56+
datasets.functions.get_dataset(dataset_id)
57+
58+
if flow_ids is not None:
59+
for flow_id in flow_ids:
60+
flows.functions.get_flow(flow_id)
61+
62+
if run_ids is not None:
63+
for run_id in run_ids:
64+
runs.functions.get_run(run_id)
2765

28-
__version__ = "0.2.1"
2966

3067
__all__ = ['OpenMLDataset', 'OpenMLDataFeature', 'OpenMLRun',
3168
'OpenMLSplit', 'datasets', 'OpenMLTask', 'OpenMLFlow',
32-
'config', 'runs', 'flows']
69+
'config', 'runs', 'flows', 'tasks']

openml/_api_calls.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,9 @@ def _parse_server_exception(response):
110110
try:
111111
server_exception = xmltodict.parse(response.text)
112112
except:
113-
raise OpenMLServerError(('Status code: %d\n' % response.status_code) + response.text)
113+
raise OpenMLServerError(('Unexpected server error. Please '
114+
'contact the developers!\nStatus code: '
115+
'%d\n' % response.status_code) + response.text)
114116

115117
code = int(server_exception['oml:error']['oml:code'])
116118
message = server_exception['oml:error']['oml:message']

0 commit comments

Comments
 (0)