From 4d8c19db8f62c583a6d760041c429a831b77c4e2 Mon Sep 17 00:00:00 2001 From: yrriban Date: Mon, 9 Jun 2025 22:25:44 -0400 Subject: [PATCH] Couple further fixes for config layering. --- dcc/config.py | 4 ++++ dcc/doom_base.py | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/dcc/config.py b/dcc/config.py index c45d79a..29e9f61 100644 --- a/dcc/config.py +++ b/dcc/config.py @@ -32,6 +32,10 @@ class Base(Command): for d in ("iwads", "pwads", "demos", "fabricate"): self._init_path(d) + def run(self, parsed_args): + self.init_base(parsed_args) + self.take_action(parsed_args) + def _init_path(self, what): setattr(self, f"_{what}", self.doom.joinpath(self._config.get(what, what))) setattr(type(self), what, property(lambda self: getattr(self, f"_{what}"))) diff --git a/dcc/doom_base.py b/dcc/doom_base.py index f9095e5..b29eb33 100644 --- a/dcc/doom_base.py +++ b/dcc/doom_base.py @@ -18,8 +18,9 @@ class Wad(dcc.config.Base): wcp = self.pwads.joinpath(self.wad).joinpath(self.config_name) if wcp.exists(): self._wad_config = tomlkit.toml_file.TOMLFile(wcp).read() - for k,v in self._wad_config.value.items(): - self._config.add(k,v) + self._config.update(self._wad_config.value) + #for k,v in self._wad_config.value.items(): + #self._config.add(k,v) def run(self, parsed_args): self.wad_init(parsed_args) @@ -72,7 +73,7 @@ class WadMap(Wad): def complevel(self): complevel = self.pwads.joinpath(self.wad).joinpath("complevel") if not complevel.exists(): - raise Exception("No complevel set in PWAD dir {}.".format(pwadpath)) + raise Exception("No complevel set for wad {}.".format(self.wad)) with io.open(complevel) as f: return f.read().strip()