diff --git a/doomcc/doom_base.py b/doomcc/doom_base.py index 16ae0f3..c12a867 100644 --- a/doomcc/doom_base.py +++ b/doomcc/doom_base.py @@ -132,8 +132,10 @@ class WadMap(Wad): ] if len(candidates) == 0: raise Exception( - "no suitable demo candidates for WAD {} MAP {} name {}.".format( - self.wad, self.map, self.name_string + "no suitable demo candidates for WAD {} MAP {}{}.".format( + self.wad, + self.map, + f" name {self._name}" if self._name else "", ) ) if len(candidates) == 1: diff --git a/doomcc/text.py b/doomcc/text.py index b8ee90a..421f37d 100644 --- a/doomcc/text.py +++ b/doomcc/text.py @@ -86,7 +86,7 @@ class Text(doomcc.doom_base.WadMap): map_names = self._config.get("map_names") if map_names is not None: text = map_names.get(f"map{mapnum}") - if text != "": + if text is not None: return text return input("Map Name? ") diff --git a/pyproject.toml b/pyproject.toml index d860b22..520742e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ description = "Doom Command Center" authors = [ {name = "yrriban",email = "yrriban@gmail.com"} ] -license = {text = "MIT"} +license = "MIT" readme = "README.md" requires-python = ">=3.12" dependencies = [ diff --git a/tests/doom_base_test.py b/tests/doom_base_test.py new file mode 100644 index 0000000..5510fee --- /dev/null +++ b/tests/doom_base_test.py @@ -0,0 +1,28 @@ +import doomcc.doom_base +import os +import pathlib +import pytest +import tempfile + +class Workbench: + pass + +def test_demo_in_path(): + w = Workbench() + w.demo_in_path = lambda: doomcc.doom_base.WadMap.demo_in_path(w) + w._file_base = lambda path: doomcc.doom_base.WadMap._file_base(w, path) + w.wad = pathlib.Path("scythe") + w.map = "01" + w.name_string = "_index" + w._name = "index" + with tempfile.TemporaryDirectory() as td: + w.demos = pathlib.Path(td) + with pytest.raises(Exception): + w.demo_in_path() + + dp = pathlib.Path(td).joinpath("scythe") + os.mkdir(dp) + dp.joinpath("scythe_map01_index.lmp").touch() + assert w.demo_in_path() == dp.joinpath("scythe_map01_index.lmp") + dp.joinpath("scythe_map01_index-00028.lmp").touch() + assert w.demo_in_path() == dp.joinpath("scythe_map01_index-00028.lmp")