Skip to content
Snippets Groups Projects
Commit 5407174b authored by chbaeh's avatar chbaeh
Browse files

add preconditon for slave

parent 4b27c0d2
No related branches found
No related tags found
No related merge requests found
......@@ -19,8 +19,8 @@ from dateutil.parser import parse
import ckan.plugins as p
import logging
import validation
import precondition
log = logging.getLogger(__name__)
......@@ -96,7 +96,7 @@ class OdshPlugin(plugins.SingletonPlugin, DefaultTranslation, DefaultDatasetForm
# IActions
def get_actions(self):
return {'package_create': action.odsh_package_create,
return {'package_create': precondition.not_on_slave(action.odsh_package_create),
'user_create': action.odsh_user_create}
# IConfigurer
......@@ -332,11 +332,8 @@ class OdshPlugin(plugins.SingletonPlugin, DefaultTranslation, DefaultDatasetForm
dict_pkg['openness']=OdshPlugin.scores[score-1]
@precondition.not_on_slave
def before_index(self, dict_pkg):
debug = config.get('ckanext.odsh.debug',False)
slave = config.get('ckanext.odsh.slave',False)
assert not (debug and slave)
# make special date fields solr conform
fields = ["issued", "temporal_start", "temporal_end"]
for field in fields:
......
from pylons import config
class PreconditionViolated(Exception):
def __init__(self, message):
super(PreconditionViolated, self).__init__(message)
def not_on_slave(func):
def wrapped(*args, **kwargs):
if config.get('ckanext.odsh.slave', False):
raise PreconditionViolated('not allowed on slave')
return func(*args, **kwargs)
if config.get('ckanext.odsh.debug', False):
return wrapped
return func
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment