summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBaudouin Raoult <baudouin.raoult@ecmwf.int>2019-11-24 08:52:34 +0100
committerBaudouin Raoult <baudouin.raoult@ecmwf.int>2019-11-24 08:52:34 +0100
commita656204578341cfc994a4772496b5aca1d823d49 (patch)
tree9cb19595360303ba7780fbd8eabdf8288746ec1b
parent181004b16fc2538e47bed9ce78eef12a367a8acd (diff)
Add status message from CDS
-rw-r--r--cdsapi/api.py28
-rw-r--r--setup.py2
2 files changed, 27 insertions, 3 deletions
diff --git a/cdsapi/api.py b/cdsapi/api.py
index 3af6b36..80eaa59 100644
--- a/cdsapi/api.py
+++ b/cdsapi/api.py
@@ -326,11 +326,35 @@ class Client(object):
workflow_name='application')
return self.service("tool.toolbox.orchestrator.run_workflow", params)
- def identity(self):
- return self._api('%s/resources' % (self.url,), {})
+ def status(self, context=None):
+ url = '%s/status.json' % (self.url,)
+ r = requests.get(url, verify=self.verify)
+ r.raise_for_status()
+ return r.json()
+
+ def _status(self, url):
+ try:
+ status = self.status(url)
+
+ info = status.get('info', [])
+ if not isinstance(info, list):
+ info = [info]
+ for i in info:
+ self.info("%s", i)
+
+ warning = status.get('warning', [])
+ if not isinstance(warning, list):
+ warning = [warning]
+ for w in warning:
+ self.warning("%s", w)
+
+ except Exception:
+ pass
def _api(self, url, request, method):
+ self._status(url)
+
session = self.session
self.info("Sending request to %s", url)
diff --git a/setup.py b/setup.py
index cf94f0f..d1d74bd 100644
--- a/setup.py
+++ b/setup.py
@@ -30,7 +30,7 @@ def read(fname):
return io.open(file_path, encoding='utf-8').read()
-version = '0.2.4'
+version = '0.2.5'
setuptools.setup(