Compare commits

...
Sign in to create a new pull request.

5 commits
iss6 ... trunk

3 changed files with 60 additions and 6 deletions

View file

@ -71,7 +71,7 @@ class Text(dcc.doom_base.WadMap):
if map_names is not None:
text = map_names.get(f"map{parsed_args.map}")
if text is None:
text = sys.stdin.read().rstrip()
text = input("Map Name? ")
if not parsed_args.nomap:
text = "MAP{}: {}".format(parsed_args.map, text)
text = "{}\n{}".format(text, parsed_args.demotype)
@ -80,7 +80,7 @@ class Text(dcc.doom_base.WadMap):
width=self.thumbnail_width
) as img:
self.draw_text(
img, text,
img, text, wrap_dist=0.95
)
img.trim()
img.reset_coords()

View file

@ -8,12 +8,13 @@ class Thumb(dcc.doom_base.WadMap):
def get_parser(self, prog_name):
parser = super().get_parser(prog_name)
parser.add_argument("--index", action="store_true")
parser.add_argument("--noov", action="store_true")
return parser
def take_action(self, parsed_args):
base = self.base_thumb_path()
text = self.text_thumb_path()
overlay = self.thumnail_overlay_path()
overlay = self.thumb_overlay_path()
with (
wand.image.Image(filename=base) as bi,
wand.color.Color("transparent") as tc
@ -22,6 +23,7 @@ class Thumb(dcc.doom_base.WadMap):
ti.border(tc, 5, 5)
bi.composite(ti, gravity="south_west")
if not parsed_args.noov:
with wand.image.Image(filename=overlay) as mdi:
mdi.border(tc, 5, 5)
bi.composite(mdi, gravity="north_west")

52
tests/play_test.py Normal file
View file

@ -0,0 +1,52 @@
import cliff.app
import dcc.play
import logging
import mockito.matchers
import pathlib
import subprocess
import tempfile
logger = logging.getLogger(__name__)
def test_play(when):
with tempfile.TemporaryDirectory() as td:
tdp = pathlib.Path(td)
tdp.joinpath("config.toml").write_text(
"""
dsda = "dsda-doom/exe"
iwad = "DOOM2.WAD"
complevel = "2"
"""
)
pwp = tdp.joinpath("pwads")
pwp.mkdir()
scp = pwp.joinpath("scythe")
scp.mkdir()
scp.joinpath("config.toml").touch()
scp.joinpath("scythe.wad").touch()
zero = subprocess.CompletedProcess
zero.returncode = 0
when(subprocess).run(
[
tdp.joinpath("dsda-doom").joinpath("exe"),
"-iwad",
tdp.joinpath("iwads").joinpath("DOOM2.WAD"),
"-file",
tdp.joinpath("pwads").joinpath("scythe").joinpath("scythe.wad"),
"-complevel",
"2",
"-skill",
"4",
"-warp",
"01",
]
).thenReturn(zero)
dcc.play.Play.__init__ = lambda self: None
dcc.play.Play.get_epilog = lambda self: ""
rig = dcc.play.Play()
rig._hooks = []
parser = rig.get_parser("test_play")
parsed_args = parser.parse_args(args=["--doom", td, "scythe", "01"])
assert rig.run(parsed_args) == 0