diff --git a/combo/apps/wcs/models.py b/combo/apps/wcs/models.py index 20f38589..7e3e0628 100644 --- a/combo/apps/wcs/models.py +++ b/combo/apps/wcs/models.py @@ -50,7 +50,7 @@ class WcsFormCell(CellBase): if self.formdef_reference: wcs_key, form_slug = self.formdef_reference.split(':') wcs_site = get_wcs_services().get(wcs_key) - forms_response_json = get_wcs_json(wcs_site.get('url') + 'json') + forms_response_json = get_wcs_json(wcs_site.get('url'), 'json') for form in forms_response_json: slug = form.get('slug') if slug == form_slug: @@ -86,7 +86,7 @@ class WcsCommonCategoryCell(CellBase): if self.category_reference: wcs_key, category_slug = self.category_reference.split(':') wcs_site = get_wcs_services().get(wcs_key) - categories_response_json = get_wcs_json(wcs_site.get('url') + 'categories') + categories_response_json = get_wcs_json(wcs_site.get('url'), 'categories') for category in categories_response_json.get('data'): slug = category.get('slug') if slug == category_slug: diff --git a/combo/apps/wcs/utils.py b/combo/apps/wcs/utils.py index ee885a4f..d9b18fbb 100644 --- a/combo/apps/wcs/utils.py +++ b/combo/apps/wcs/utils.py @@ -27,7 +27,10 @@ def get_wcs_services(): return {} return settings.KNOWN_SERVICES.get('wcs') -def get_wcs_json(url): +def get_wcs_json(wcs_url, path): + if not wcs_url.endswith('/'): + wcs_url += '/' + url = wcs_url + path response_json = cache.get(url) if response_json is None: response_json = requests.get(url, headers={'accept': 'application/json'}).json() @@ -38,7 +41,7 @@ def get_wcs_options(url): references = [] for wcs_key, wcs_site in get_wcs_services().iteritems(): site_title = wcs_site.get('title') - response_json = get_wcs_json(wcs_site.get('url') + url) + response_json = get_wcs_json(wcs_site.get('url'), url) if type(response_json) is dict: response_json = response_json.get('data') for element in response_json: