Bugfix in config validator

This commit is contained in:
Markus Unterwaditzer 2016-10-04 19:16:18 +02:00
parent a5eec6193b
commit d33c98ac93

View file

@ -7,6 +7,7 @@ from click_threading import get_ui_worker
from . import cli_logger from . import cli_logger
from .fetchparams import expand_fetch_params from .fetchparams import expand_fetch_params
from .utils import storage_class_from_config
from .. import PROJECT_HOME, exceptions from .. import PROJECT_HOME, exceptions
from ..utils import expand_path from ..utils import expand_path
@ -287,11 +288,16 @@ class PairConfig(object):
def _set_partial_sync(self, options): def _set_partial_sync(self, options):
partial_sync = options.pop('partial_sync', None) partial_sync = options.pop('partial_sync', None)
if partial_sync is not None and \ if partial_sync is not None:
cls_a, _ = storage_class_from_config(self.config_a)
cls_b, _ = storage_class_from_config(self.config_b)
if not cls_a.read_only and \
not self.config_a.get('read_only', False) and \ not self.config_a.get('read_only', False) and \
not cls_b.read_only and \
not self.config_b.get('read_only', False): not self.config_b.get('read_only', False):
raise ValueError('`partial_sync` is only effective if one storage ' raise ValueError('`partial_sync` is only effective if one '
'is read-only.') 'storage is read-only.')
if partial_sync is None: if partial_sync is None:
partial_sync = 'revert' partial_sync = 'revert'