Resource download link without filename raises an error
Current extension wraps `resource_download` action but wrapper makes `filename` argument required, whereas originally it was optional. Make `filename` optional, update wrapper's name, remove unused imports.
This commit is contained in:
parent
63d9dcb847
commit
274428fe90
|
@ -2,14 +2,11 @@ import ast
|
||||||
import logging
|
import logging
|
||||||
import urllib
|
import urllib
|
||||||
import commands
|
import commands
|
||||||
import dbutil
|
|
||||||
import paste.deploy.converters as converters
|
import paste.deploy.converters as converters
|
||||||
import pylons
|
|
||||||
from ckan.lib.base import c
|
from ckan.lib.base import c
|
||||||
import ckan.lib.helpers as h
|
import ckan.lib.helpers as h
|
||||||
import ckan.plugins as p
|
import ckan.plugins as p
|
||||||
import gasnippet
|
from routes.mapper import SubMapper
|
||||||
from routes.mapper import SubMapper, Mapper as _Mapper
|
|
||||||
from pylons import config
|
from pylons import config
|
||||||
from ckan.controllers.package import PackageController
|
from ckan.controllers.package import PackageController
|
||||||
|
|
||||||
|
@ -43,9 +40,9 @@ def _post_analytics(
|
||||||
GoogleAnalyticsPlugin.analytics_queue.put(data_dict)
|
GoogleAnalyticsPlugin.analytics_queue.put(data_dict)
|
||||||
|
|
||||||
|
|
||||||
def post_analytics_decorator(func):
|
def wrap_resource_download(func):
|
||||||
|
|
||||||
def func_wrapper(cls, id, resource_id, filename):
|
def func_wrapper(cls, id, resource_id, filename=None):
|
||||||
_post_analytics(
|
_post_analytics(
|
||||||
c.user,
|
c.user,
|
||||||
"CKAN Resource Download Request",
|
"CKAN Resource Download Request",
|
||||||
|
@ -54,7 +51,7 @@ def post_analytics_decorator(func):
|
||||||
resource_id
|
resource_id
|
||||||
)
|
)
|
||||||
|
|
||||||
return func(cls, id, resource_id, filename)
|
return func(cls, id, resource_id, filename=None)
|
||||||
|
|
||||||
return func_wrapper
|
return func_wrapper
|
||||||
|
|
||||||
|
@ -264,9 +261,9 @@ class GoogleAnalyticsPlugin(p.SingletonPlugin):
|
||||||
':')
|
':')
|
||||||
module = importlib.import_module(route_controller[0])
|
module = importlib.import_module(route_controller[0])
|
||||||
controller_class = getattr(module, route_controller[1])
|
controller_class = getattr(module, route_controller[1])
|
||||||
controller_class.resource_download = post_analytics_decorator(
|
controller_class.resource_download = wrap_resource_download(
|
||||||
controller_class.resource_download)
|
controller_class.resource_download)
|
||||||
else:
|
else:
|
||||||
# If no custom uploader applied, use the default one
|
# If no custom uploader applied, use the default one
|
||||||
PackageController.resource_download = post_analytics_decorator(
|
PackageController.resource_download = wrap_resource_download(
|
||||||
PackageController.resource_download)
|
PackageController.resource_download)
|
||||||
|
|
Loading…
Reference in New Issue