From eed3dbada43ff6271bdf550883d38e08a6b29788 Mon Sep 17 00:00:00 2001 From: Paul Oliver Date: Thu, 29 Feb 2024 02:29:13 +0100 Subject: Added -a|--auto CLI argument. An user may now specify simulation's auto-save interval during initialization. This works for both new and loaded simulations. --- bin/salis.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/bin/salis.py b/bin/salis.py index 3e3bacc..eef4263 100755 --- a/bin/salis.py +++ b/bin/salis.py @@ -37,8 +37,9 @@ class Salis: and parsed with the 'argparse' module. Library is loaded with 'CDLL' and C headers are parsed to detect function argument and return types. """ - # Before declaring any other privates, let's define the absolute path - # and parse CLI arguments. + # Before declaring any other privates, let's define the autosave + # member, get the absolute path and parse CLI arguments. + self.autosave = "---" self.path = self.__get_path() self.args = self.__parse_args() @@ -51,7 +52,6 @@ class Salis: self.printer = Printer(self) self.handler = Handler(self) self.state = "paused" - self.autosave = "---" # Based on CLI arguments, initialize a new Salis simulation or load # existing one from file. @@ -208,6 +208,10 @@ class Salis: "-f", "--file", required=True, type=str, metavar="FILE", help="Name of FILE to save simulation to on exit" ) + new_parser.add_argument( + "-a", "--auto", required=False, type=lambda x: int(x, 0), + metavar="INT", help="Auto-save interval for the new simulation" + ) # Set up subparser for the 'load' existing action. load_parser = subparsers.add_parser("load", formatter_class=formatter) @@ -215,6 +219,10 @@ class Salis: "-f", "--file", required=True, type=str, metavar="FILE", help="Load previously saved simulation from FILE" ) + load_parser.add_argument( + "-a", "--auto", required=False, type=lambda x: int(x, 0), + metavar="INT", help="Auto-save interval for the loaded simulation" + ) # Finally, parse all arguments. args = parser.parse_args() @@ -232,6 +240,11 @@ class Salis: "Save file provided '{}' does not exist".format(savefile) ) + # Set autosave interval, if given. + #if args.auto: + if args.auto: + self.set_autosave(args.auto) + return args def __open_log_file(self): -- cgit v1.2.1