merge
[tiramisu.git] / tiramisu / option.py
index 4327938..c1c949f 100644 (file)
@@ -92,9 +92,21 @@ class BaseInformation(object):
 
 
 class BaseOption(BaseInformation):
+    """This abstract base class stands for attribute access
+    in options that have to be set only once, it is of course done in the
+    __setattr__ method
+    """
     __slots__ = ('_readonly', '_state_consistencies', '_state_requires')
 
     def __setattr__(self, name, value):
+        """set once and only once some attributes in the option,
+        like `_name`. `_name` cannot be changed one the option and
+        pushed in the :class:`tiramisu.option.OptionDescription`.
+
+        if the attribute `_readonly` is set to `True`, the option is
+        "frozen" (which has noting to do with the high level "freeze"
+        propertie or "read_only" property)
+        """
         if not name.startswith('_state'):
             is_readonly = False
             # never change _name
@@ -998,6 +1010,9 @@ class OptionDescription(BaseOption):
         return True
 
     def _impl_getstate(self, descr=None):
+        """enables us to export into a dict
+        :param descr: parent :class:`tiramisu.option.OptionDescription`
+        """
         if descr is None:
             self.impl_build_cache()
             descr = self