TRX/tools/inspect_save

30 lines
659 B
Text
Raw Normal View History

2024-10-02 10:23:23 +02:00
#!/usr/bin/env python3
import argparse
import json
import struct
import zlib
from pathlib import Path
import bson
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser()
parser.add_argument("path", type=Path)
return parser.parse_args()
def main() -> None:
args = parse_args()
with args.path.open("rb") as handle:
magic = handle.read(4)
version, compressed_size, uncompressed_size = struct.unpack(
"III", handle.read(12)
)
data = bson.loads(zlib.decompress(handle.read(uncompressed_size)))
print(json.dumps(data, indent=4))
if __name__ == "__main__":
main()