Merge branch 'master' into force-cache
[tiramisu.git] / tiramisu / config.py
index 473cdb4..0ad082a 100644 (file)
@@ -448,17 +448,20 @@ class SubConfig(object):
         return pathsvalues
 
     def _make_sub_dict(self, opt, path, pathsvalues, _currpath, flatten):
-        if isinstance(opt, OptionDescription):
-            pathsvalues += getattr(self, path).make_dict(flatten,
-                                                         _currpath +
-                                                         path.split('.'))
-        else:
-            value = self._getattr(opt._name)
-            if flatten:
-                name = opt._name
+        try:
+            if isinstance(opt, OptionDescription):
+                pathsvalues += getattr(self, path).make_dict(flatten,
+                                                             _currpath +
+                                                             path.split('.'))
             else:
-                name = '.'.join(_currpath + [opt._name])
-            pathsvalues.append((name, value))
+                value = self._getattr(opt._name)
+                if flatten:
+                    name = opt._name
+                else:
+                    name = '.'.join(_currpath + [opt._name])
+                pathsvalues.append((name, value))
+        except PropertiesOptionError:
+            pass
 
     def cfgimpl_get_path(self):
         descr = self.cfgimpl_get_description()