
    Sh                         d dl Z ddlmZmZmZmZmZ  G d d          Zd ZddZ	d	 Z
d
 Zd Zg dddfdZedk    rd dlZ ej                     dS dS )    N   )colorizeget_short_namesjoin
text_width
wrap_alignc                   \    e Zd Zg dZdddddddddZed             Zd Zd Zd Z	d	 Z
dS )
_Node)alignformatwrapmissingshortenN)groupsdisplayr   r   r   r   r   c                    || _         || _        ||n|| _        t          j        D ]%}	t          | |	t                      |	                    &d S N)keyr   r   r
   _propertiessetattrlocals)
selfr   r   r   r   r   r   r   r   props
             U/var/www/html/movieo_spanner_bot/venv/lib/python3.11/site-packages/treetable/table.py__init__z_Node.__init__	   sZ     %oss7% 	0 	0DD$////	0 	0    c                 Z    | j         dS dt          d | j         D             d          z   S )Nr   r   c              3   $   K   | ]}|j         V  d S r   )depth.0childs     r   	<genexpr>z_Node.depth.<locals>.<genexpr>   s$      AAEEKAAAAAAr   default)r   maxr   s    r   r   z_Node.depth   s8    ;1sAAT[AAA1MMMMMr   c                 *    t          | j                  S r   )iterr   r'   s    r   __iter__z_Node.__iter__    s    DK   r   c                     i }t           j        D ]'}t          | |          }|t          ||          ||<   ( | j        di |S )N )r
   r   getattrupdate)r   parentupdatesr   my_values        r   inheritz_Node.inherit#   sZ    % 	6 	6DtT**H ' 5 5t{%%W%%%r   c                     | j         | j        | j        d}t          j        D ]}t          | |          ||<   |                    |           t          di |S )N)r   r   r   r,   )r   r   r   r
   r   r-   r.   )r   r0   kwargsr   s       r   r.   z_Node.update+   sh    8k|
 

 % 	/ 	/D"4..F4LLgvr   c                 T   g }| j         |                    | j                    | j        | j         k    r|                    d| j                    t          j        D ].}t          | |          }||                    | d|            /| j        d}n| j        d}nd}| }|r|dd                    |           dz  }| j        ^g }| j        D ]7}|                    t          j	        t          |          d	                     8d
                    |          }|d| z  }|S )Nzkey==tableleafgroup(z, )  
z:
)r   appendr   r
   r   r-   r   r   textwrapindentrepr)	r   
repr_partsr   valuenamemy_reprchild_reprsr"   
child_reprs	            r   __repr__z_Node.__repr__7   sc   
<#dl+++8t|##/TX//000% 	5 	5DD$''E !!T"3"3E"3"34448DD[ DDD) 	43499Z003333G;"K G G""8?4;;#E#EFFFF;//J)Z)))Gr   )__name__
__module____qualname__r   r   propertyr   r*   r2   r.   rH   r,   r   r   r
   r
      s        CCCK
 0 0 0 0 0  N N XN! ! !& & &
 
 
    r   r
   c                      t          d| |d|S N)r   r   r,   r
   )r   r   r4   s      r   r9   r9   T       2S226222r    c                      t          d| |d|S )N)r   r   r,   rO   )r   r   r4   s      r   r8   r8   X   rP   r   c                      t          dd | d|S rN   rO   )r   r4   s     r   r7   r7   \   s    3T&33F333r   c                     g }| D ]:}|
|j         pd}nt          ||j        pd          }|                    |           ;|S )NrQ   )r   r   r>   )linesr8   	formattedlinecontents        r   _treetable_terminalrY   `   s\    I " "<l(bGGT4;#4"55G!!!!r   c                    |j         }|t          | |          S |j        }|dz
  t          |          k    r#t	          d| dt          |           d          d |D             }|j        rt          |          }n|}g }t          ||          D ]G\  }                    |          j         t          j                   dk    r;j        }	||	z
  }
j         d u fd| D             }rt          |          }nt          ||          }t          d	 |D             d
          t          t          |                    j         j        t          j                  rj        d          }n"j        d                                        }dg|
dz
  z  |gz   |z   }fd|D             }|                    |           It!          |||dz
                     S )Nr   z2Not enough separators for depth of tree (depth is z	 but got z separators)c                     g | ]	}|j         
S r,   )r   r    s     r   
<listcomp>z_treetable.<locals>.<listcomp>v   s    222%222r   r   c                 N    g | ]!}|                     j        rd ni           "S r   )getr   )r!   rW   r"   terminals     r   r\   z_treetable.<locals>.<listcomp>   s?     
 
 
>BDHHUY 8b99
 
 
r   )r9   
separatorsc              3   4   K   | ]}t          |          V  d S r   )r   r!   rW   s     r   r#   z_treetable.<locals>.<genexpr>   s*      BB$Z%%BBBBBBr   r$   rQ   c                 B    g | ]}t          |j        pd           S )<)width	alignment)r   r   )r!   rW   r"   re   s     r   r\   z_treetable.<locals>.<listcomp>   s?     
 
 
 t5EK4F3GGG
 
 
r   )	separator)r   rY   r   len
ValueErrorr   r   zipr2   
_treetabler&   r   minr   centerr>   r   )rU   r9   r`   r   r   displaysshort_namescolumns
short_namechild_depthdelta_depthchild_lineschild_formatteddisplay_namer"   r_   re   s                 @@@r   rk   rk   k   s   \F~"5%000KEqyC
OO##GG G),ZG G GH H 	H 326222H} %h//G 55 ( (ze$$<#EL(9(9Q(>(>kk)<4'
 
 
 
 
FK
 
 
  	A1+uEEOO(5ZA A AOBB/BBBANNNE3z??++<EJ$:
E**E 	? =%0LL =%077>>L$+/2l 68 8:IJ
 
 
 
 
'
 
 
 	'''':eai#89999r   )r<   z | z  ||  Fc                     t          | ||          } Ofdt          |           D             } |j        }| d|         }d |D             }|| d|<   |r| |ddd         z  } d                    |           S )a"  
    Pretty-print `lines` using the `table` structure.

    `separators` give the list of sub-tables separators. It needs to be
    as long as the maximum depth of `groups`. Deepest separators comes first.
    If longer than the maximum depth of `groups`, the first ones will be used.

    )rU   r9   r`   Nc           
      b    g | ]+\  }}t          ||t                    z                     ,S r,   )r   rh   )r!   indexrW   colorss      r   r\   ztreetable.<locals>.<listcomp>   sG     
 
 
t T6%#f++"5677
 
 
r   c                 .    g | ]}t          |d           S )1)r   rb   s     r   r\   ztreetable.<locals>.<listcomp>   s"    999$(4%%999r   r=   )rk   	enumerater   r   )rU   r7   r`   rz   header_downr   headers      `   r   	treetabler      s     U%JGGGE
 
 
 
(//
 
 
 vv99&999fuf 	"VDDbD\!E99Ur   __main__)rQ   )r?   textr   r   r   r   r   r
   r9   r8   r7   rY   rk   r   rI   doctesttestmodr,   r   r   <module>r      s    I I I I I I I I I I I I I IK K K K K K K K\3 3 33 3 3 34 4 4  2: 2: 2:j (?'>'>tY^    0 zNNNGO r   