# HG changeset patch # User Franz Glasner # Date 1638866313 -3600 # Node ID 84d4f82ffe59d20ad5649b589d1463443ffda790 # Parent 88d8de9310af3d120ad5824c0bd9c17506239bd3 Docs: more on jails and sub-jails diff -r 88d8de9310af -r 84d4f82ffe59 configmix/config.py --- a/configmix/config.py Tue Dec 07 09:27:44 2021 +0100 +++ b/configmix/config.py Tue Dec 07 09:38:33 2021 +0100 @@ -782,7 +782,11 @@ @property def base(self): - """Ask for the base (aka parent) configuration""" + """Ask for the base (aka parent) configuration". + + This configuration is always unjailed. + + """ return self._base def rebind(self, new_base): diff -r 88d8de9310af -r 84d4f82ffe59 docs/introduction.rst --- a/docs/introduction.rst Tue Dec 07 09:27:44 2021 +0100 +++ b/docs/introduction.rst Tue Dec 07 09:38:33 2021 +0100 @@ -564,12 +564,17 @@ import configmix config = configmix.load("conf10.py") + assert not config.is_jail value = config.getvar_s("tree1.tree2.key4") jailed_config1 = config.jailed(rootpath="tree1.tree2") + assert jailed_config1.is_jail + assert jailed_config1.base is config jvalue1 = jailed_config1.getvar_s("key4") jailed_config2 = config.jailed(root=("tree1", "tree2")) + assert jailed_config2.is_jail + assert jailed_config2.base is config jvalue2 = jailed_config.getvarl_s("key4") assert value == jvalue1 == jvalue2 == "get this as `tree1.tree2.key4'" @@ -582,16 +587,24 @@ configuration. It is possible to get a jailed configuration from an already jailed -configuration:: +configuration. This sub-jail inherits the unjailed base configuration from +the jailed configuration by default. + + :: import configmix config = configmix.load("conf10.py") + assert not config.is_jail value = config.getvar_s("tree1.tree2.key4") jailed_config1 = config.jailed(rootpath="tree1") + assert jailed_config1.is_jail + assert jailed_config2.base is config jailed_config2 = jailed_config2.jailed(rootpath="tree2") + assert jailed_config2.is_jail + assert jailed_config2.base is config jvalue2 = jailed_config.getvarl_s("key4") assert value == jvalue2 == "get this as `tree1.tree2.key4'"