Skip to content

Commit

Permalink
[#2510] Uploader class selection centralised
Browse files Browse the repository at this point in the history
  • Loading branch information
brew committed Jul 1, 2015
1 parent c0c5cd4 commit f3cf47d
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 16 deletions.
18 changes: 16 additions & 2 deletions ckan/lib/uploader.py
Expand Up @@ -2,10 +2,11 @@
import cgi
import pylons
import datetime
import ckan.lib.munge as munge
import logging
import ckan.logic as logic

import ckan.lib.munge as munge
import ckan.logic as logic
import ckan.plugins as plugins

config = pylons.config
log = logging.getLogger(__name__)
Expand All @@ -15,6 +16,19 @@
_max_image_size = None


def get_uploader(data_dict):
'''Queries IUploader plugins and returns an uploader instance.'''
upload = None
for plugin in plugins.PluginImplementations(plugins.IUploader):
upload = plugin.get_uploader(data_dict)

# default uploader
if upload is None:
upload = ResourceUpload(data_dict)

return upload


def get_storage_path():
'''Function to cache storage path'''
global _storage_path
Expand Down
8 changes: 1 addition & 7 deletions ckan/logic/action/create.py
Expand Up @@ -295,13 +295,7 @@ def resource_create(context, data_dict):
if not 'resources' in pkg_dict:
pkg_dict['resources'] = []

upload = None
for plugin in plugins.PluginImplementations(plugins.IUploader):
upload = plugin.get_uploader(data_dict)

# default uploader
if upload is None:
upload = uploader.ResourceUpload(data_dict)
upload = uploader.get_uploader(data_dict)

pkg_dict['resources'].append(data_dict)

Expand Down
8 changes: 1 addition & 7 deletions ckan/logic/action/update.py
Expand Up @@ -148,13 +148,7 @@ def resource_update(context, data_dict):
for plugin in plugins.PluginImplementations(plugins.IResourceController):
plugin.before_update(context, pkg_dict['resources'][n], data_dict)

upload = None
for plugin in plugins.PluginImplementations(plugins.IUploader):
upload = plugin.get_uploader(data_dict)

# default uploader
if upload is None:
upload = uploader.ResourceUpload(data_dict)
upload = uploader.get_uploader(data_dict)

pkg_dict['resources'][n] = data_dict

Expand Down

0 comments on commit f3cf47d

Please sign in to comment.