if we delete all reference to a Config and we have reference to old SubConfig, Values...
[tiramisu.git] / tiramisu / config.py
index 1381d57..4bc0e15 100644 (file)
@@ -156,7 +156,15 @@ class SubConfig(object):
     __repr__ = __str__
 
     def _cfgimpl_get_context(self):
-        return self._impl_context()
+        """context could be None, we need to test it
+        context is None only if all reference to `Config` object is deleted
+        (for example we delete a `Config` and we manipulate a reference to
+        old `SubConfig`, `Values`, `Multi` or `Settings`)
+        """
+        context = self._impl_context()
+        if context is None:
+            raise ConfigError(_('the context does not exist anymore'))
+        return context
 
     def cfgimpl_get_description(self):
         if self._impl_descr is None: