support not_equal for tiramisu-web
authorEmmanuel Garette <egarette@cadoles.com>
Fri, 17 Feb 2017 10:05:48 +0000 (11:05 +0100)
committerEmmanuel Garette <egarette@cadoles.com>
Fri, 17 Feb 2017 10:05:48 +0000 (11:05 +0100)
tiramisu/option/baseoption.py

index df95edc..6137b9a 100644 (file)
@@ -723,7 +723,7 @@ class Option(OnlyOption):
         "accesses the Option's 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():
             dynod = self._impl_getsubdyn()
         else:
@@ -753,8 +753,9 @@ class Option(OnlyOption):
                 raise ConfigError(_('every options in consistency must be '
                                     'multi or none'))
             if init:
-                #consistency could generate warnings or errors
-                opt._set_has_dependency()
+                # FIXME
+                if func != 'not_equal':
+                    opt._set_has_dependency()
 
     def impl_add_consistency(self, func, *other_opts, **params):
         """Add consistency means that value will be validate with other_opts
@@ -771,7 +772,7 @@ class Option(OnlyOption):
                                    " read-only").format(
                                        self.__class__.__name__,
                                        self.impl_getname()))
-        self._valid_consistencies(other_opts)
+        self._valid_consistencies(other_opts, func=func)
         func = '_cons_{0}'.format(func)
         if func not in dir(self):
             raise ConfigError(_('consistency {0} not available for this option').format(func))
@@ -789,8 +790,9 @@ class Option(OnlyOption):
             for opt in all_cons_opts:
                 if getattr(opt, '_unique', undefined) == undefined:
                     opt._unique = True
-        #consistency could generate warnings or errors
-        self._set_has_dependency()
+        if func != '_cons_not_equal':
+            #consistency could generate warnings or errors
+            self._set_has_dependency()
 
     def _valid_consistency(self, option, value, context, index, submulti_idx,
                            display_warnings, display_error):