#!/usr/bin/env python3
"""
独立命令行导入脚本。

用法:
  python run_import.py          # 增量导入（MERGE，不删除现有数据）
  python run_import.py --clear  # 清空图谱后全量重新导入
    python run_import.py ldj      # 仅导入鹿鼎记
    python run_import.py dtslz tlbb --clear  # 清空后导入指定小说
"""

import sys
from dotenv import load_dotenv
from graph_query import get_driver
from graph_builder import build_all_graphs, SUPPORTED_NOVELS

load_dotenv()


def main():
    clear = "--clear" in sys.argv
    novels = [arg for arg in sys.argv[1:] if not arg.startswith("--")]
    selected = novels or list(SUPPORTED_NOVELS)

    print("Connecting to Neo4j...")
    driver = get_driver()
    driver.verify_connectivity()
    print("Connected.\n")

    build_all_graphs(driver, novels=selected, clear=clear)

    print("\nGraph stats:")
    from graph_query import get_graph_stats
    for k, v in get_graph_stats().items():
        print(f"  {k}: {v}")

    driver.close()


if __name__ == "__main__":
    main()
