From c73c7dd45737864c404962df2cc9a48259f8edf3 Mon Sep 17 00:00:00 2001 From: yrriban Date: Wed, 30 Apr 2025 21:54:32 -0400 Subject: [PATCH] Add support for specifying the name string. Pad times that have an odd number of total digits in the filename (e.g. 1:23 -> 0123). --- dcc/dsda.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/dcc/dsda.py b/dcc/dsda.py index bf6e156..42eeeba 100644 --- a/dcc/dsda.py +++ b/dcc/dsda.py @@ -10,6 +10,7 @@ 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") return parser def take_action(self, parsed_args): @@ -27,9 +28,14 @@ class DSDA(dcc.doom_base.WadMap): if "EDITOR" in os.environ: editor = os.environ["EDITOR"] subprocess.run([editor, dtp]) - fh1 = parsed_args.wad[0:2] + parsed_args.map - if parsed_args.single: - fh1 = parsed_args.wad[0:min(len(parsed_args.wad), 4)] + if parsed_args.name: + fh1 = parsed_args.name + if not parsed_args.single: + fh1 += parsed_args.map + else: + fh1 = parsed_args.wad[0:2] + parsed_args.map + if parsed_args.single: + fh1 = parsed_args.wad[0:min(len(parsed_args.wad), 4)] fh2 = "" with open(dtp, mode="r") as f: for line in f: @@ -38,6 +44,8 @@ class DSDA(dcc.doom_base.WadMap): if m is None: continue fh2 = m[1]+m[2] + if len(fh2)%2==1: + fh2 = "0" + fh2 break if not fh2: sys.exit("Failed to match any line in {} against Time regex.".format(dtp))