frozen api
authorgwen <gremond@cadoles.com>
Tue, 18 Sep 2012 14:14:47 +0000 (16:14 +0200)
committergwen <gremond@cadoles.com>
Tue, 18 Sep 2012 14:14:47 +0000 (16:14 +0200)
tiramisu/option.py

index 849e7b4..bb1dbaf 100644 (file)
@@ -157,6 +157,9 @@ class Option(HiddenBaseType, DisabledBaseType):
     def is_forced_on_freeze(self):
         return self._frozen and self._force_default_on_freeze
 
+    def is_frozen(self):
+        return self._frozen
+
     def getdoc(self):
         return self.doc
 
@@ -176,7 +179,7 @@ class Option(HiddenBaseType, DisabledBaseType):
         # config *must* be only the **parent** config (not the toplevel config) 
         # owner is a **real* owner, a list is actually allowable here
         name = self._name
-        if self._frozen:
+        if self.is_frozen() and config.is_frozen():
             raise TypeError("trying to change a frozen option's owner: %s" % name)
         if self.is_multi():
             if not type(owner) == list: