Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
nested (bool): Whether the namespace should be nested.
with_meta (bool): Whether to include metadata in config object.
Returns:
types.SimpleNamespace: An object with all parsed values as attributes.
Raises:
ParserError: If there is a parsing error and error_handler=None.
"""
if env is None and self._default_env:
env = True
try:
cfg = self._load_cfg(cfg_str, cfg_path, ext_vars, _base)
ActionSubCommands.handle_subcommands(self, cfg, env=env, defaults=defaults)
if nested:
cfg = _flat_namespace_to_dict(dict_to_namespace(cfg))
if env:
cfg = self._merge_config(cfg, self.parse_env(defaults=defaults, nested=nested, _skip_check=True))
elif defaults:
cfg = self._merge_config(cfg, self.get_defaults(nested=nested))
if not (with_meta or (with_meta is None and self._default_meta)):
cfg = strip_meta(cfg)
cfg_ns = dict_to_namespace(cfg)
if not _skip_check:
self.check_config(cfg_ns)
nested (bool): Whether the namespace should be nested.
with_meta (bool): Whether to include metadata in config object.
Returns:
types.SimpleNamespace: An object with all parsed values as attributes.
Raises:
ParserError: If there is a parsing error and error_handler=None.
"""
if env is None and self._default_env:
env = True
try:
cfg = vars(_dict_to_flat_namespace(cfg_obj))
ActionSubCommands.handle_subcommands(self, cfg, env=env, defaults=defaults)
if nested:
cfg = _flat_namespace_to_dict(dict_to_namespace(cfg))
if cfg_base is not None:
if isinstance(cfg_base, SimpleNamespace):
cfg_base = namespace_to_dict(cfg_base)
cfg = self._merge_config(cfg, cfg_base)
if env:
cfg = self._merge_config(cfg, self.parse_env(defaults=defaults, nested=nested, _skip_check=True))
elif defaults:
cfg = self._merge_config(cfg, self.get_defaults(nested=nested))
if not (with_meta or (with_meta is None and self._default_meta)):