can remove config from a metaconfig

This commit is contained in:
2018-09-13 07:00:12 +02:00
parent ccf3f0ae06
commit 620eaa6461
4 changed files with 26 additions and 0 deletions

View File

@ -1002,6 +1002,10 @@ class TiramisuContextConfig(TiramisuContext):
persistent=False):
return Config(self.config_bag.context.new_config(session_id=session_id, persistent=persistent))
def _m_pop(self,
session_id):
return Config(self.config_bag.context.pop_config(session_id=session_id))
def _m_list(self):
return self._g_list()

View File

@ -1140,3 +1140,10 @@ class KernelMetaConfig(KernelGroupConfig):
config._impl_meta = weakref.ref(self)
self._impl_children.append(config)
return config
def pop_config(self,
session_id):
for idx, child in enumerate(self._impl_children): # pragma: no cover
if session_id == child._impl_name:
return self._impl_children.pop(idx)
raise ConfigError(_('cannot find the config {}').format(session_id))