# -*- coding: utf-8 -*-
"""
V2-024 TargetSelector Test

위치:
  D:/honghee/blog_api/tools/test_v2_target_selector.py

실행:
  cd /d D:/honghee/blog_api
  python -m tools.test_v2_target_selector --realtor-id 1

목적:
- V2가 오늘 처리할 대상 1건을 어떤 이유로 선택하는지 확인한다.
"""

import argparse
import sys
from pathlib import Path

ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(ROOT))

from db import get_conn
from services.v2.target_selector import TargetSelector


def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("--realtor-id", type=int, default=1)
    args = parser.parse_args()

    conn = get_conn()

    try:
        selector = TargetSelector(conn)
        result = selector.select(args.realtor_id)

        print("=" * 100)
        print("[V2-024 TARGET SELECTOR TEST]")
        print("realtor_id:", args.realtor_id)
        print("-" * 100)
        print("found:", result.found)
        print("action:", result.action)
        print("reason:", result.reason)
        print("article_no:", result.article_no)
        print("draft_id:", result.draft_id)
        print("publish_queue_id:", result.publish_queue_id)
        print("-" * 100)

        if result.row:
            print("[ROW]")
            for key in [
                "id",
                "realtor_id",
                "article_no",
                "draft_id",
                "queue_status",
                "status",
                "draft_status",
                "publish_title",
                "draft_title",
                "article_name",
                "first_posted_at",
                "created_at",
                "updated_at",
            ]:
                if key in result.row:
                    print(f"{key}: {result.row.get(key)}")

        print("=" * 100)

    finally:
        conn.close()


if __name__ == "__main__":
    main()
