Coverage for sparkle/CLI/save_snapshot.py: 94%
18 statements
« prev ^ index » next coverage.py v7.10.7, created at 2025-09-29 10:17 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2025-09-29 10:17 +0000
1#!/usr/bin/env python3
2"""Sparkle command to save the current Sparkle platform in a .zip file."""
4import sys
6from sparkle.CLI.help import snapshot_help
7from sparkle.CLI.help import logging as sl
8from sparkle.CLI.help import argparse_custom as ac
9from sparkle.CLI.help import global_variables as gv
10import argparse
13def parser_function() -> argparse.ArgumentParser:
14 """Parser for save_snapshot."""
15 parser = argparse.ArgumentParser(
16 description="Save the current platform in a .zip file.",
17 epilog="Can be loaded later with the load snapshot command.",
18 )
19 parser.add_argument(*ac.SnapshotNameArgument.names, **ac.SnapshotNameArgument.kwargs)
20 return parser
23def main(argv: list[str]) -> None:
24 """Main function of the command."""
25 # Log command call
26 sl.log_command(sys.argv, gv.settings().random_state)
27 parser = parser_function()
28 args = parser.parse_args(argv)
29 snapshot_help.save_current_platform(args.name)
30 sys.exit(0)
33if __name__ == "__main__":
34 main(sys.argv[1:])