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

1#!/usr/bin/env python3 

2"""Sparkle command to save the current Sparkle platform in a .zip file.""" 

3 

4import sys 

5 

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 

11 

12 

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 

21 

22 

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) 

31 

32 

33if __name__ == "__main__": 

34 main(sys.argv[1:])