Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def set_config(self, config=None, mode='update'):
"""Set new configuration options
:param config: dict of new options
:param mode: can be either
- update: Add to or override current options in context
- setdefault: Add to current options, but do not override
- replace: Erase config, then set only these options
"""
if not hasattr(self, 'config'):
self.config = dict()
self.config = strax.combine_configs(
old_config=self.config,
new_config=config,
mode=mode)
:param replace: If True, replaces settings rather than adding them.
See Context.__init__ for documentation on other parameters.
"""
# TODO: Clone rather than pass on storage front-ends ??
if not isinstance(storage, (list, tuple)):
storage = [storage]
if config is None:
config = dict()
if register is None:
register = []
if not isinstance(register, (tuple, list)):
register = [register]
if not replace:
storage = self.storage + list(storage)
config = strax.combine_configs(self.config,
config,
mode='update')
kwargs = strax.combine_configs(self.context_config,
kwargs,
mode='update')
new_c = Context(storage=storage, config=config, **kwargs)
if not replace:
new_c._plugin_class_registry = self._plugin_class_registry.copy()
new_c.register_all(register_all)
new_c.register(register)
return new_c
# TODO: Clone rather than pass on storage front-ends ??
if not isinstance(storage, (list, tuple)):
storage = [storage]
if config is None:
config = dict()
if register is None:
register = []
if not isinstance(register, (tuple, list)):
register = [register]
if not replace:
storage = self.storage + list(storage)
config = strax.combine_configs(self.config,
config,
mode='update')
kwargs = strax.combine_configs(self.context_config,
kwargs,
mode='update')
new_c = Context(storage=storage, config=config, **kwargs)
if not replace:
new_c._plugin_class_registry = self._plugin_class_registry.copy()
new_c.register_all(register_all)
new_c.register(register)
return new_c
def set_context_config(self, context_config=None, mode='update'):
"""Set new context configuration options
:param context_config: dict of new context configuration options
:param mode: can be either
- update: Add to or override current options in context
- setdefault: Add to current options, but do not override
- replace: Erase config, then set only these options
"""
if not hasattr(self, 'context_config'):
self.context_config = dict()
new_config = strax.combine_configs(
old_config=self.context_config,
new_config=context_config,
mode=mode)
for opt in self.takes_config.values():
opt.validate(new_config)
for k in new_config:
if k not in self.takes_config:
warnings.warn(f"Unknown config option {k}; will do nothing.")
self.context_config = new_config
for k in self.context_config:
if k not in self.takes_config:
warnings.warn(f"Invalid context option {k}; will do nothing.")