merge from val_prop_plugin branch
authorEmmanuel Garette <egarette@cadoles.com>
Tue, 20 Aug 2013 14:44:52 +0000 (16:44 +0200)
committerEmmanuel Garette <egarette@cadoles.com>
Tue, 20 Aug 2013 14:44:52 +0000 (16:44 +0200)
1  2 
tiramisu/setting.py

@@@ -261,28 -268,16 +268,28 @@@ class Settings(object)
      def validate_properties(self, opt_or_descr, is_descr, is_write,
                              value=None, force_permissive=False,
                              force_properties=None):
-         validation upon the properties related to `opt_or_descr` 
-         
 +        """
-         :param force_permissive: behaves as if the permissive property was present 
-         :param is_descr: we have to know if we are in an option description, 
-                          just because the mandatory property doesn't exist there 
-                          
++        validation upon the properties related to `opt_or_descr`
++
 +        :param opt_or_descr: an option or an option description object
-                          the behavior can be different (typically with the `frozen` 
++        :param force_permissive: behaves as if the permissive property was present
++        :param is_descr: we have to know if we are in an option description,
++                         just because the mandatory property doesn't exist there
++
 +        :param is_write: in the validation process, an option is to be modified,
-         # opt properties
-         properties = copy(self._get_properties(opt_or_descr))
-         # remove opt permissive
-         properties -= self._get_permissive(opt_or_descr)
-         # remove global permissive if need
-         self_properties = copy(self._get_properties())
-         if force_permissive is True or 'permissive' in self_properties:
-             properties -= self._get_permissive()
++                         the behavior can be different (typically with the `frozen`
 +                         property)
 +        """
 -        if force_permissive is True or 'permissive' in self_properties:
+         #opt properties
+         properties = copy(self._getproperties(opt_or_descr))
+         #remove opt permissive
+         properties -= self._p_.getpermissive(self._getkey(opt_or_descr))
+         #remove global permissive if need
+         self_properties = copy(self._getproperties())
++            if force_permissive is True or 'permissive' in self_properties:
+             properties -= self._p_.getpermissive()
  
 -        #global properties
 +        # global properties
          if force_properties is not None:
              self_properties.update(force_properties)
  
                  properties.add('frozen')
              elif 'frozen' in properties and not is_write:
                  properties.remove('frozen')
-         # at this point an option should not remain in properties 
 -
++        # at this point an option should not remain in properties
          if properties != frozenset():
              props = list(properties)
              if 'frozen' in properties: