support not_equal for tiramisu-web

This commit is contained in:
Emmanuel Garette 2017-02-17 11:05:48 +01:00
parent 5bf75b3824
commit 8bd1b27f73
1 changed files with 8 additions and 6 deletions

View File

@ -723,7 +723,7 @@ class Option(OnlyOption):
"accesses the Option's doc" "accesses the Option's doc"
return self.impl_get_information('doc') return self.impl_get_information('doc')
def _valid_consistencies(self, other_opts, init=True): def _valid_consistencies(self, other_opts, init=True, func=None):
if self._is_subdyn(): if self._is_subdyn():
dynod = self._impl_getsubdyn() dynod = self._impl_getsubdyn()
else: else:
@ -753,7 +753,8 @@ class Option(OnlyOption):
raise ConfigError(_('every options in consistency must be ' raise ConfigError(_('every options in consistency must be '
'multi or none')) 'multi or none'))
if init: if init:
#consistency could generate warnings or errors # FIXME
if func != 'not_equal':
opt._set_has_dependency() opt._set_has_dependency()
def impl_add_consistency(self, func, *other_opts, **params): def impl_add_consistency(self, func, *other_opts, **params):
@ -771,7 +772,7 @@ class Option(OnlyOption):
" read-only").format( " read-only").format(
self.__class__.__name__, self.__class__.__name__,
self.impl_getname())) self.impl_getname()))
self._valid_consistencies(other_opts) self._valid_consistencies(other_opts, func=func)
func = '_cons_{0}'.format(func) func = '_cons_{0}'.format(func)
if func not in dir(self): if func not in dir(self):
raise ConfigError(_('consistency {0} not available for this option').format(func)) raise ConfigError(_('consistency {0} not available for this option').format(func))
@ -789,6 +790,7 @@ class Option(OnlyOption):
for opt in all_cons_opts: for opt in all_cons_opts:
if getattr(opt, '_unique', undefined) == undefined: if getattr(opt, '_unique', undefined) == undefined:
opt._unique = True opt._unique = True
if func != '_cons_not_equal':
#consistency could generate warnings or errors #consistency could generate warnings or errors
self._set_has_dependency() self._set_has_dependency()