← Files AutonomARCHIVED FILE

skills/android-debugger-agent/scripts/ui_tree_summarize.py

1.1 KB · Nov 11, 2026 · 12:59 UTC

↓ Download file

#!/usr/bin/env python3
"""CLI: compact text summary of a UI Automator XML dump."""
from __future__ import annotations

import argparse
import sys
from pathlib import Path

from ui_common import parse_nodes, summarize


def main() -> int:
    parser = argparse.ArgumentParser(
        description="Render a compact text tree from a UI Automator XML dump"
    )
    parser.add_argument("input", help="UI XML path, or '-' for stdin")
    parser.add_argument("output", nargs="?", help="optional path for the text summary")
    parser.add_argument("--max-depth", type=int, default=30)
    args = parser.parse_args()

    try:
        raw = sys.stdin.read() if args.input == "-" else Path(args.input).read_text(encoding="utf-8")
        rendered = "\n".join(summarize(parse_nodes(raw), max_depth=args.max_depth)) + "\n"
    except (OSError, ValueError) as exc:
        print(f"error: {exc}", file=sys.stderr)
        return 2

    if args.output:
        Path(args.output).write_text(rendered, encoding="utf-8")
    else:
        sys.stdout.write(rendered)
    return 0


if __name__ == "__main__":
    raise SystemExit(main())

SHA-256: 2adda14160933515a19a64334a5f70d2f54c6eeae1543272aa258d3b0d3d874b