Couple further fixes for config layering.

This commit is contained in:
yrriban 2025-06-09 22:25:44 -04:00
parent 20af631a74
commit 4d8c19db8f
2 changed files with 8 additions and 3 deletions

View file

@ -32,6 +32,10 @@ class Base(Command):
for d in ("iwads", "pwads", "demos", "fabricate"): for d in ("iwads", "pwads", "demos", "fabricate"):
self._init_path(d) self._init_path(d)
def run(self, parsed_args):
self.init_base(parsed_args)
self.take_action(parsed_args)
def _init_path(self, what): def _init_path(self, what):
setattr(self, f"_{what}", self.doom.joinpath(self._config.get(what, what))) setattr(self, f"_{what}", self.doom.joinpath(self._config.get(what, what)))
setattr(type(self), what, property(lambda self: getattr(self, f"_{what}"))) setattr(type(self), what, property(lambda self: getattr(self, f"_{what}")))

View file

@ -18,8 +18,9 @@ class Wad(dcc.config.Base):
wcp = self.pwads.joinpath(self.wad).joinpath(self.config_name) wcp = self.pwads.joinpath(self.wad).joinpath(self.config_name)
if wcp.exists(): if wcp.exists():
self._wad_config = tomlkit.toml_file.TOMLFile(wcp).read() self._wad_config = tomlkit.toml_file.TOMLFile(wcp).read()
for k,v in self._wad_config.value.items(): self._config.update(self._wad_config.value)
self._config.add(k,v) #for k,v in self._wad_config.value.items():
#self._config.add(k,v)
def run(self, parsed_args): def run(self, parsed_args):
self.wad_init(parsed_args) self.wad_init(parsed_args)
@ -72,7 +73,7 @@ class WadMap(Wad):
def complevel(self): def complevel(self):
complevel = self.pwads.joinpath(self.wad).joinpath("complevel") complevel = self.pwads.joinpath(self.wad).joinpath("complevel")
if not complevel.exists(): 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: with io.open(complevel) as f:
return f.read().strip() return f.read().strip()