Support setting a name for a demo, supporting more than one demo stored at a time for a map.

This commit is contained in:
yrriban 2025-05-11 17:28:07 -04:00
parent c73c7dd457
commit 85d3686f1c
11 changed files with 35 additions and 30 deletions

View file

@ -10,12 +10,12 @@ class DSDA(dcc.doom_base.WadMap):
def get_parser(self, prog_name):
parser = super().get_parser(prog_name)
parser.add_argument("-s", "--single", action="store_true")
parser.add_argument("-n", "--name")
parser.add_argument("-a", "--abbreviation")
return parser
def take_action(self, parsed_args):
dip = dcc.config.DemoInPath(parsed_args.wad, parsed_args.map)
dtp = dcc.config.DsdaTextPath(parsed_args.wad, parsed_args.map)
dip = dcc.config.DemoInPath(parsed_args.wad, parsed_args.map, parsed_args.name)
dtp = dcc.config.DsdaTextPath(parsed_args.wad, parsed_args.map, parsed_args.name)
if not dtp.exists():
command = [dcc.config.DSDA]
if shutil.which("xvfb-run") is not None:
@ -28,8 +28,8 @@ class DSDA(dcc.doom_base.WadMap):
if "EDITOR" in os.environ:
editor = os.environ["EDITOR"]
subprocess.run([editor, dtp])
if parsed_args.name:
fh1 = parsed_args.name
if parsed_args.abbreviation:
fh1 = parsed_args.abbreviation
if not parsed_args.single:
fh1 += parsed_args.map
else: