#!/usr/bin/env python3
"""aria-markitdown.py - strukturerhaltende Doc->Markdown-Konvertierung (KAR-660 Pilot).

Wrapper um microsoft/markitdown (MIT). Konvertiert PDF/Office/HTML/Image -> Markdown.
Lokal-only: KEINE Azure-DocIntelligence, KEINE LLM-Image-Desc (Tier-Schutz, kein Datenabfluss).
Untrusted Inputs: ueber aria-sandbox laufen lassen.

Usage:
  aria-markitdown.py <input-file> [-o out.md]
  aria-markitdown.py <input-file> --metrics
Run via venv: /root/aria/tools/markitdown-venv/bin/python /root/aria/tools/aria-markitdown.py ...
"""
import sys, argparse

def main():
    ap = argparse.ArgumentParser()
    ap.add_argument("input")
    ap.add_argument("-o", "--out")
    ap.add_argument("--metrics", action="store_true")
    a = ap.parse_args()
    from markitdown import MarkItDown
    md = MarkItDown(enable_plugins=False)  # lokal-only, keine LLM/Azure-Plugins
    text = md.convert(a.input).text_content
    if a.metrics:
        lines = text.splitlines()
        print(f"chars={len(text)} headings={sum(1 for l in lines if l.startswith('#'))} "
              f"table_rows={sum(1 for l in lines if l.count('|')>=2)} lines={len(lines)}")
        return
    if a.out:
        open(a.out, "w").write(text); print(f"wrote {a.out} ({len(text)} chars)")
    else:
        sys.stdout.write(text)

if __name__ == "__main__":
    main()
