From 80a5bb75e3ec31767a92a3328b5353dffc2f6e60 Mon Sep 17 00:00:00 2001 From: anonymous <anonymous> Date: Mon, 3 Jun 2019 14:33:43 +0200 Subject: [PATCH] fix resource url --- ckanext/odsh/helpers.py | 10 ++++++++++ ckanext/odsh/plugin.py | 3 ++- .../odsh/templates/package/snippets/resource_item.html | 8 +------- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/ckanext/odsh/helpers.py b/ckanext/odsh/helpers.py index d7b0d5e5..60fccc73 100644 --- a/ckanext/odsh/helpers.py +++ b/ckanext/odsh/helpers.py @@ -13,6 +13,8 @@ import urllib import hashlib import re from ckan.common import request +from urlparse import urlsplit, urlunsplit + get_action = logic.get_action log = logging.getLogger(__name__) @@ -215,3 +217,11 @@ def odsh_has_more_facets(facet, limit=None, exclude_active=False): def odsh_public_url(): return config.get('ckanext.odsh.public_url') + +def odsh_public_resource_url(res): + home = config.get('ckanext.odsh.public_url') + if res.get('url_type',None) == 'upload' and 'url' in res: + f = urlsplit(res['url']) + return urlunsplit((0, 0, f[2], f[3], f[4])) + else: + return res['url'] diff --git a/ckanext/odsh/plugin.py b/ckanext/odsh/plugin.py index 36e9e367..d798c617 100644 --- a/ckanext/odsh/plugin.py +++ b/ckanext/odsh/plugin.py @@ -289,7 +289,8 @@ class OdshPlugin(plugins.SingletonPlugin, DefaultTranslation, DefaultDatasetForm 'odsh_tracking_id': odsh_helpers.odsh_tracking_id, 'odsh_tracking_url': odsh_helpers.odsh_tracking_url, 'odsh_has_more_facets': odsh_helpers.odsh_has_more_facets, - 'odsh_public_url': odsh_helpers.odsh_public_url + 'odsh_public_url': odsh_helpers.odsh_public_url, + 'odsh_public_resource_url': odsh_helpers.odsh_public_resource_url } def after_map(self, map): diff --git a/ckanext/odsh/templates/package/snippets/resource_item.html b/ckanext/odsh/templates/package/snippets/resource_item.html index bc12c3b4..cf63b5a7 100644 --- a/ckanext/odsh/templates/package/snippets/resource_item.html +++ b/ckanext/odsh/templates/package/snippets/resource_item.html @@ -2,13 +2,7 @@ {% set url = h.url_for(controller='package', action=url_action, id=pkg.name, resource_id=res.id) %} {# hack for correcting slave url if resource was uploaded #} -{% if res.url_type=='upload' %} -{% set download = url or res.url%} -{% else %} -{% set download = res.url or ulr%} -{% endif %} -{% set res_details = h.odsh_get_resource_details(res.id) %} - +{% set download = h.odsh_public_resource_url(res) or ulr%} <li class="resource-item" data-id="{{ res.id }}"> -- GitLab