From 4e3e30d0bb56b9ba8cd50dd83ae41c85bd4c9bf7 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Mon, 8 Sep 2025 00:53:15 +0200 Subject: [PATCH] feat: add plist -> json conversion example --- examples/plist_to_json.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 examples/plist_to_json.py diff --git a/examples/plist_to_json.py b/examples/plist_to_json.py new file mode 100644 index 0000000..6e332cc --- /dev/null +++ b/examples/plist_to_json.py @@ -0,0 +1,29 @@ +from __future__ import annotations + +from pathlib import Path + +from findmy import FindMyAccessory + + +def main(output: Path, accessory_plist: Path, alignment_plist: Path | None = None) -> int: + accessory = FindMyAccessory.from_plist(accessory_plist, alignment_plist) + accessory.to_json(output) + return 0 + + +if __name__ == "__main__": + import argparse + import sys + + parser = argparse.ArgumentParser() + parser.add_argument("accessory_plist", type=Path, help="Input accessory plist file") + parser.add_argument("output", type=Path, help="Output JSON file") + parser.add_argument( + "--alignment-plist", + type=Path, + help="Input alignment plist file (if available)", + default=None, + ) + args = parser.parse_args() + + sys.exit(main(args.output, args.accessory_plist, args.alignment_plist))