From a656204578341cfc994a4772496b5aca1d823d49 Mon Sep 17 00:00:00 2001 From: Baudouin Raoult Date: Sun, 24 Nov 2019 08:52:34 +0100 Subject: Add status message from CDS --- cdsapi/api.py | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'cdsapi/api.py') 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) -- cgit v1.2.3