# -*- coding: utf-8 -*-
"""
STEP106-03 V2 resolver quick test

주의:
- 기존 services/naver_search_complex_resolver.py 를 import하지 않는다.
- V2 전용 services/naver_search_complex_resolver_v2.py 만 테스트한다.

사용 예:
  python tools/test_step106_03_v2_complex_resolver.py --html search_card.html --query "산울6단지세종리첸시아파밀리에(주상복합) 605동 · 매매 · 7억 9,000" --region "세종시"
"""

import argparse
import json
from pathlib import Path

from services.naver_search_complex_resolver_v2 import (
    parse_naver_search_complex_card_html,
    merge_with_listing_fallback,
)


def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("--html", required=True)
    parser.add_argument("--query", required=True)
    parser.add_argument("--region", default="")
    parser.add_argument("--listing-json", default="")
    args = parser.parse_args()

    html = Path(args.html).read_text(encoding="utf-8")
    listing_data = {}
    if args.listing_json:
        listing_data = json.loads(Path(args.listing_json).read_text(encoding="utf-8"))

    search_result = parse_naver_search_complex_card_html(html, query=args.query, region_hint=args.region)
    result = merge_with_listing_fallback(search_result, listing_data=listing_data, region_hint=args.region)
    print(json.dumps(result.__dict__, ensure_ascii=False, indent=2))


if __name__ == "__main__":
    main()
