
    M/Ph8                         d dl Z d dlZd dlmZ d dlmZ d dlZd dlm	Z	 d Z
d Zd Zdd	Zed
k    r e	            Z eed           dS dS )    N)chain)Path)CompleteSetc                 t    |                      d          | d<   d| vrd| d<   nd | d         D             | d<   | S )Nidnamechildren   sizec                 ,    g | ]}t          |          S  )update).0childs     k/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/visions/visualisation/plot_circular_packing.py
<listcomp>zupdate.<locals>.<listcomp>   s    HHHeF5MMHHH    )pop)datas    r   r   r      sM    88D>>DLVHHtJ7GHHHZKr   c                 H   t          j        |           }d| d}t          t                    j        dz  }t          |          }|                                }t          j        dd| d|t          j        t          j	        z            }|
                    |           d S )Nz	
	root = z;
	circular_packing.htmlz"// START-REPLACE(.*)// END-REPLACEz// START-REPLACEz// END-REPLACE)flags)jsondumpsr   __file__parent	read_textresub	MULTILINEDOTALL
write_text)r   output_filejdatastring	file_nameout_filefcs          r   
write_htmlr)      s    JtE'5'''FX%(??IK  H					B	-2F222
lRY&	
 
 
B r   c                     fdt          t          | j        |                                         d|fg                    } ||           |d<   |S )Nc                 >   ||          }t          |          dk    rg S g }|D ]g}t          t          |j        |                                         d|fg                    } ||          }|r||d<   |                    |           ht          |d           }|S )Nr   r   r	   c                     | d         S )Nr   r   )xs    r   <lambda>z;to_json_tree_sorted.<locals>.add_children.<locals>.<lambda>2   s
    AdG r   )key)lendictr   nodesitemsappendsorted)nGnbrs	children_r   dcadd_childrens          r   r<   z)to_json_tree_sorted.<locals>.add_children&   s    tt99>>I	 	  	 EU175>//11T5M?CCDDAUA&&A " !*Q9*;*;<<<	r   r   r	   )r1   r   r2   r3   )r7   rootr   r<   s      @r   to_json_tree_sortedr>   $   sh         agdm))++tTl^<<==D#|D!,,DKr   returnc                    | j                                         }t          j        |d |j        D             d           t          |t          | j                            }t          |          }t          ||           d S )Nc                 .    i | ]}|t          |          S r   )str)r   r6   s     r   
<dictcomp>z/plot_graph_circular_packing.<locals>.<dictcomp><   s     <<<1QA<<<r   F)copy)r=   )

base_graphrD   nxrelabel_nodesr2   r>   rB   	root_noder   r)   )typesetr#   graphr   s       r   plot_graph_circular_packingrK   :   s}    ##%%EU<<<<<5IIIIu3w/@+A+ABBBD$<<Dt[!!!!!r   __main__r   )r?   N)r   r   	itertoolsr   pathlibr   networkxrF   visions.typesetsr   r   r)   r>   rK   __name__complete_setr   r   r   <module>rS      s     				                 ( ( ( ( ( (       ," " " " z;==L.EFFFFF r   