
    i?	                         d Z ddlZddlmZ ddlZddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZmZmZmZmZ d	 Zed
k(  r e        yy)a  
DiploAI Knowledge Graph - diplomacy.edu Pipeline (Phase 2)

Usage:
    python run_diplo.py                # Full pipeline
    python run_diplo.py --csv-only     # Only extract and export CSV
    python run_diplo.py --neo4j-only   # Only load from existing CSV into Neo4j
    N)datetime)DIPLO_CONFIG)WPExtractor)build_all_nodes)build_all_links)
get_driverload_all_nodesload_relationshipsensure_indexesclear_databasec                  J   t        t        j                        dkD  rt        j                  d   nd} t        }t	        j
                         j                  d      }| dv r@t        d       t        d| d       t        d       t        |d   |d	   |d
   |d         }t        d       |j                          |j                          t        d       t        |      \  }}t        d       t        |||      }t        j                  |j                         D cg c]  }|j                   r| c}d      }|j#                  d| dd       |j#                  d| dd       t        d| dt        |       d       t        d| dt        |       d       | dv r{t        d|d    d       t%               }	| dk(  rt'        |	|d          t)        |	|d          t+        |	|d          t-        |	|d          |	j/                          t        d        y y c c}w )!N   --fullz%d%m%Y)r   z
--csv-onlyz<============================================================zDIPLOMACY.EDU KG PIPELINE  ()
mysql_hostmysql_dbsite_prefixinclude_post_types)hostdatabaser   r   z
--- Extracting posts ---z
--- Building nodes ---z
--- Building links ---T)ignore_indexdiplomacy_nodes_z.csvF)indexdiplomacy_links_z
Exported: diplomacy_nodes_z.csv (z nodes)zExported: diplomacy_links_z links))r   z--neo4j-onlyz
--- Loading into Neo4j (neo4j_databasez) ---z
Done.)lensysargvr   r   nowstrftimeprintr   get_all_postsget_all_posts_taxonomiesr   r   pdconcatvaluesemptyto_csvr   r   r   r	   r
   close)
modecfgtoday	extractor
nodes_dictdf_topics_rawdf_linksdf	all_nodesdrivers
             run_diplo.pymainr5      s   chh-!+388A;D
CLLN##H-E''h,UG156h\"_M*"#78	
	 	*+!**,()$3I$>!
M()"9j-HIIJ,=,=,?P,?brxxr,?P_cd	+E7$7uE*5'6eD,UG6#i.9IQR*5'HgNO))*3/?+@*AGH863'7#89vs#345vs#34jA63'7#8(Ci * Qs   H /H __main__)__doc__r   r   pandasr$   configr   wp_extractorr   node_builderr   link_builderr   neo4j_loaderr   r	   r
   r   r   r5   __name__     r4   <module>rA      sA        $ ( ( g g-` zF r@   