From 28c76ee2705b4caa9bf4d744b92929bd036f82c2 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Fri, 1 Dec 2017 11:14:08 +0100 Subject: [PATCH] wcs_api: adapt to change in formdefs API (fixes #20383) --- wcs_olap/wcs_api.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/wcs_olap/wcs_api.py b/wcs_olap/wcs_api.py index 983499b..8f56aa0 100644 --- a/wcs_olap/wcs_api.py +++ b/wcs_olap/wcs_api.py @@ -2,10 +2,15 @@ import requests import urlparse import urllib import isodate +import logging + from . import signature +logger = logging.getLogger(__name__) + + class WcsApiError(Exception): pass @@ -217,7 +222,17 @@ class WcsApi(object): @property def formdefs(self): - return [FormDef(wcs_api=self, **d) for d in self.get_json(self.formdefs_url) + result = self.get_json(self.formdefs_url) + if isinstance(result, dict): + if result['err'] == 0: + data = result['data'] + else: + logger.error(u'could not retrieve formdefs from %s, err_desc: %s', + self.formdefs_url, result.get('err_desc')) + return [] + else: + data = result + return [FormDef(wcs_api=self, **d) for d in data if not self.slugs or d['slug'] in self.slugs] @property -- 2.1.4