# mobile_info_check.py
import argparse
import sys
import json
import requests

API_URL = "https://api.goterpay.com/mobileinfo"

def main():
    p = argparse.ArgumentParser(description="Check Goter Mobile Info for a number")
    p.add_argument("--mid", required=True, help="Your Goter MID (e.g. G52435328)")
    p.add_argument("--mkey", required=True, help="Your Goter MKEY")
    p.add_argument("--mobile", required=True, help="Mobile number to check")
    p.add_argument("--timeout", type=float, default=10, help="HTTP timeout seconds (default 10)")
    args = p.parse_args()

    params = {"mid": args.mid, "mkey": args.mkey, "mobile": args.mobile}

    try:
        r = requests.get(API_URL, params=params, timeout=args.timeout)
        r.raise_for_status()
    except requests.RequestException as e:
        print(f"ERROR: {e}", file=sys.stderr)
        sys.exit(2)

    # Try JSON; if not JSON, show raw text.
    try:
        data = r.json()
        print(json.dumps(data, indent=2, ensure_ascii=False))
        # Optional: quick sanity summary
        op = data.get("operator")
        circle = data.get("circle")
        status = data.get("status")
        msg = data.get("message", "")
        print("\n--- Summary ---")
        print(f"Status : {status}")
        print(f"Operator: {op}")
        print(f"Circle  : {circle}")
        if msg:
            print(f"Message : {msg}")
    except ValueError:
        # Not JSON
        print(r.text)

if __name__ == "__main__":
    main()
