Skip to content
Snippets Groups Projects
Commit 6c9520b7 authored by anonymous's avatar anonymous
Browse files

add preconditon for slave

parent cf6d9eb2
Branches
Tags
No related merge requests found
...@@ -19,8 +19,8 @@ from dateutil.parser import parse ...@@ -19,8 +19,8 @@ from dateutil.parser import parse
import ckan.plugins as p import ckan.plugins as p
import logging import logging
import validation import validation
import precondition
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
...@@ -96,7 +96,7 @@ class OdshPlugin(plugins.SingletonPlugin, DefaultTranslation, DefaultDatasetForm ...@@ -96,7 +96,7 @@ class OdshPlugin(plugins.SingletonPlugin, DefaultTranslation, DefaultDatasetForm
# IActions # IActions
def get_actions(self): 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} 'user_create': action.odsh_user_create}
# IConfigurer # IConfigurer
...@@ -332,11 +332,8 @@ class OdshPlugin(plugins.SingletonPlugin, DefaultTranslation, DefaultDatasetForm ...@@ -332,11 +332,8 @@ class OdshPlugin(plugins.SingletonPlugin, DefaultTranslation, DefaultDatasetForm
dict_pkg['openness']=OdshPlugin.scores[score-1] dict_pkg['openness']=OdshPlugin.scores[score-1]
@precondition.not_on_slave
def before_index(self, dict_pkg): 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 # make special date fields solr conform
fields = ["issued", "temporal_start", "temporal_end"] fields = ["issued", "temporal_start", "temporal_end"]
for field in fields: 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