diff --git a/ckanext/xloader/jobs.py b/ckanext/xloader/jobs.py index aa23fb86..321ec238 100644 --- a/ckanext/xloader/jobs.py +++ b/ckanext/xloader/jobs.py @@ -19,7 +19,7 @@ import sqlalchemy as sa from ckan import model -from ckan.plugins.toolkit import get_action, asbool, enqueue_job, ObjectNotFound, config +from ckan.plugins.toolkit import get_action, asbool, enqueue_job, ObjectNotFound, config, h from . import db, loader from .job_exceptions import JobError, HTTPError, DataTooBigError, FileCouldNotBeLoadedError @@ -178,8 +178,14 @@ def xloader_data_into_datastore_(input, job_dict, logger): logger.info('Express Load starting: %s', resource_ckan_url) # check if the resource url_type is a datastore - if resource.get('url_type') == 'datastore': - logger.info('Ignoring resource - url_type=datastore - dump files are ' + if hasattr(h, "datastore_rw_resource_url_types"): + datastore_rw_resource_url_types = h.datastore_rw_resource_url_types() + else: + #fallback for 2.10.x or older. + datastore_rw_resource_url_types = ['datastore'] + + if resource.get('url_type') in datastore_rw_resource_url_types: + logger.info('Ignoring resource - R/W DataStore resources are ' 'managed with the Datastore API') return