[docs]defmain():parser=argparse.ArgumentParser(description=""" Reads and parses the embedded metadata of two .SSFZ files created by Anton Paar SAXSquant software, converts them to JSON format and performs a diff-like comparison which is output on <stdout>. """)parser.add_argument("fromfile",type=lambdap:Path(p).absolute(),help="Path of the first .SSFZ file to compare.",)parser.add_argument("tofile",type=lambdap:Path(p).absolute(),help="Path of the second .SSFZ file to compare to.",)json_args=dict(sort_keys=True,indent=2)args=parser.parse_args()# print(args)ifnotargs.fromfile.is_file():print(f"Provided file '{args.fromfile}' not found!")return1ifnotargs.tofile.is_file():print(f"Provided file '{args.tofile}' not found!")return1olddata=readSSFZ(args.fromfile)newdata=readSSFZ(args.tofile)diff=difflib.unified_diff(json.dumps(olddata,**json_args).splitlines(keepends=True),json.dumps(newdata,**json_args).splitlines(keepends=True),fromfile=str(args.fromfile),tofile=str(args.tofile),)forlineindiff:print(line,end="")return0