o
    h
                     @   s   d Z ddlZddlZddlm  m  mZ ddlZ	ddlm
Z
mZ ddlmZ ddlT ddlZdd Zdd
dZdd ZedkrFe  dS dS )z$
Visualization tooling for Ssurgeon
    N)process_doc_one_operationconvert_response_to_doc)CoNLL)*c                 C   s   t j| ||dS )z
    Submit edited doc from ssurgeon to generate HTML for sentences output
    :param edited_doc:
    :param lang_code:
    :param visualize_xpos:
    :return:
    )doclanguagevisualize_xpos)svget_sentences_html)
edited_doc	lang_coder    r   i/var/www/html/env_mimamsha/lib/python3.10/site-packages/stanza/utils/visualization/ssurgeon_visualizer.py!generate_edited_deprel_unadjusted   s   r   enFc                 C   sp   t j| d}t|||}t||}t|||d}	g }
tt|	D ]}t|	| }|
	| q |r6t
|
 |
S )z
    Visualizes the edited side of the ssurgeon edit
    :param unedited_doc:
    :param semgrex_query:
    :param ssurgeon_query:
    :return:
    	input_str)r   )r   	conll2docr   r   r   rangelenr	   adjust_dep_arrowsappendrender_html_strings)r   semgrex_queryssurgeon_queryr   r   renderr   ssurgeon_responseupdated_dochtml_stringsedited_html_stringsiedited_htmlr   r   r   ,visualize_ssurgeon_deprel_adjusted_str_input   s   

r"   c                  C   s   t jdstd dg} d}d}tjtd}td	| t
||| }t||}td	| tt|dd	d
 tt||  d S )N	CLASSPATHzMLoad the path to wherever CoreNLP is installed on your machine to $CLASSPATH.z&relabelNamedEdge -edge bad -reln advclz!{}=source >nsubj {} >csubj=bad {}zAedu.stanford.nlp.semgraph.semgrex.ssurgeon.ProcessSsurgeonRequestr   z{:C}r   F)r   r   )osenvirongetlogginginfor   r   SAMPLE_SSURGEON_DOCprintformatr   r   r   r"   )ssurgeonsemgrexSSURGEON_JAVAr   r   r   r   r   r   main0   s   

r/   __main__)r   FF)__doc__r$   sys-stanza.utils.visualization.semgrex_visualizerutilsvisualizationsemgrex_visualizerr	   stanza.server.ssurgeonstanzar   r   stanza.utils.conllr   $stanza.utils.visualization.constantsr'   r   r"   r/   __name__r   r   r   r   <module>   s    

