diff --git a/dcc/rib.py b/dcc/rib.py index aca28fd..2913368 100644 --- a/dcc/rib.py +++ b/dcc/rib.py @@ -9,6 +9,7 @@ class RIB(dcc.doom_base.WadMap): def get_parser(self, prog_name): parser = super().get_parser(prog_name) parser.add_argument("-s", "--secs_before", default=10) + parser.add_argument("-a", "--attempt") return parser # TODO: the root path should probably be configurable. @@ -25,7 +26,11 @@ class RIB(dcc.doom_base.WadMap): demodir = demodir.joinpath(w.stem.lower()) demodir = demodir / "failed_demos" - for f in demodir.glob(f"*map{self.map}*", case_sensitive=False): + glob = f"*map{self.map}*" + if parsed_args.attempt is not None: + glob += f"{parsed_args.attempt}*" + + for f in demodir.glob(glob, case_sensitive=False): st = os.stat(f) if st.st_mtime > dt: demo = f @@ -40,5 +45,5 @@ class RIB(dcc.doom_base.WadMap): subprocess.run( [self.dsda] + self.dsda_preamble(warp=False) + ["-playdemo", demo] - + ["-skiptic", str(-35 * parsed_args.secs_before)] + + ["-skiptic", str(-35 * int(parsed_args.secs_before))] )