HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //proc/self/root/lib/python3.6/site-packages/awscli/__pycache__/table.cpython-36.pyc
3

�T_<�@s�ddlZddlZddlZddlZddlmZddlmZddd�Zdd�Z	dd
d�Z
dd
d�Zd dd�Zdd�Z
Gdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZdS)!�N)�is_a_tty)�sixTF)Z	autoreset�stripcCstj|�}tdd�|D��S)Ncss$|]}tj|�dkrdndVqdS)ZWFA��N)�unicodedataZeast_asian_width)�.0�char�r
�/usr/lib/python3.6/table.py�	<genexpr>'sz"get_text_length.<locals>.<genexpr>)r�	text_type�sum)�textr
r
r�get_text_lengths
r�PcCsvyddlm}ddlm}Wntk
r0|SXy&tjd|tj|d��dd�\}}Wnt	k
rl|SX|SdS)	Nr)�
TIOCGWINSZ)�ioctlZhhhh��rz)
ZtermiosrZfcntlr�ImportError�struct�unpack�sys�stdout�	Exception)Z
default_widthrrZheight�widthr
r
r�determine_terminal_width+sr�|c
Cs�|dkrt|�}g}|d|dd}|j|d||�t|�||}|t|�|}|jd|�|j|�dj|�}	|	S)aCenter text with specified edge chars.

    You can pass in the length of the text as an arg, otherwise it is computed
    automatically for you.  This can allow you to center a string not based
    on it's literal length (useful if you're using ANSI codes).
    Nrr� �)r�append�join)
r�length�	left_edge�
right_edge�text_length�outputZ
char_start�
length_so_farZright_side_spaces�finalr
r
r�center_text;s	

r*rc
Cs�|dkrt|�}||t|�t|�}||dkr:|}nd}g}d}	|j|�|	t|�7}	|jd|�|	|7}	|j|�|	|7}	|jd||	t|��|j|�dj|�S)zLeft align text.Nrrr )rr!�lenr")
rr#r$r%r&Zleft_paddingZcomputed_length�paddingr'r(r
r
r�
align_leftQs"


r-cCs~xxt|�D]l\}}t|j�dkr
|jr
|j}t�}|j|_|j|_x*t||jd�D]\}}|j||g�qTW|||<q
WdS)Nrr)	�	enumerater+�rows�headers�Section�title�indent_level�zip�add_row)Zsections�i�sectionr0�new_section�header�elementr
r
r�convert_to_vertical_tableksr;c@s&eZdZd	dd�Zdd�Zdd�ZdS)
�IndentedStreamrcCs||_||_||_||_dS)N)�_stream�
_indent_level�_left_indent_char�_right_indent_char)�self�streamr3Zleft_indent_charZright_indent_charr
r
r�__init__�szIndentedStream.__init__cCsd|jj|j|j�|jd�rT|jj|dd��|jj|j|j�|jjd�n|jj|�dS)N�
r���)r=�writer?r>�endswithr@)rArr
r
rrF�s
zIndentedStream.writecCst|j|�S)N)�getattrr=)rA�attrr
r
r�__getattr__�szIndentedStream.__getattr__N)rr)�__name__�
__module__�__qualname__rCrFrJr
r
r
rr<�s
	r<c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�StylercCs|S)Nr
)rArr
r
r�style_title�szStyler.style_titlecCs|S)Nr
)rArr
r
r�style_header_column�szStyler.style_header_columncCs|S)Nr
)rArr
r
r�style_row_element�szStyler.style_row_elementcCs|S)Nr
)rArr
r
r�style_indentation_char�szStyler.style_indentation_charN)rKrLrMrOrPrQrRr
r
r
rrN�srNc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�ColorizedStylercCstjft�dS)N)�coloramaZinit�COLORAMA_KWARGS)rAr
r
rrC�szColorizedStyler.__init__cCs|S)Nr
)rArr
r
rrO�szColorizedStyler.style_titlecCs|S)Nr
)rArr
r
rrP�sz#ColorizedStyler.style_header_columncCstjjtjj|tjjS)N)rT�StyleZBRIGHT�ForeZBLUE�	RESET_ALL)rArr
r
rrQ�sz!ColorizedStyler.style_row_elementcCstjjtjj|tjjS)N)rTrVZDIMrWZYELLOWrX)rArr
r
rrR�sz&ColorizedStyler.style_indentation_charN)rKrLrMrCrOrPrQrRr
r
r
rrS�s
rSc@sxeZdZddd�Zdd�Zdd	�Zd
d�Zd d
d�Zdd�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)!�
MultiTableNTrcCsr||_|rt�|_|jg|_nd|_g|_|dkrLt�rBt�|_qRt�|_n||_d|_||_	|dkrnt
�|_dS)Nr)�_auto_reformatr1�_current_section�	_sectionsrrS�_stylerrNZ_rendering_index�_column_separatorr�_terminal_width)rAZterminal_widthZinitial_sectionZcolumn_separatorZterminalZstylerZ
auto_reformatr
r
rrC�s

zMultiTable.__init__cCs|jj|�dS)N)r[�	add_title)rAr2r
r
rr`�szMultiTable.add_titlecCs|jj|�dS)N)r[�
add_header)rAr0r
r
r�add_row_header�szMultiTable.add_row_headercCs|jj|�dS)N)r[r5)rAZrow_elementsr
r
rr5�szMultiTable.add_rowrcCs.t�|_|jj|j�|jj|�||j_dS)N)r1r[r\r!r`r3)rAr2r3r
r
rr8�szMultiTable.new_sectioncCs\|j�}|j|�}|r(t|j�|j�}|jd|d�x|jD]}|j|||�qBWdS)N�-rD)�_calculate_max_width�_determine_conversion_neededr;r\rF�_render_section)rArB�	max_widthZshould_convert_tabler7r
r
r�render�s

zMultiTable.rendercCs||jkr|jSdS)N)r_rZ)rArgr
r
rre�s
z'MultiTable._determine_conversion_neededcCstdd�|jD��}|S)Ncss |]}|jdd|jd�VqdS)�T)r,�with_border�
outer_paddingN)�total_widthr3)r�sr
r
rr�sz2MultiTable._calculate_max_width.<locals>.<genexpr>)�maxr\)rArgr
r
rrd�szMultiTable._calculate_max_widthcCs\t||j|jjd�|jjd��}||jd8}|j|||�|j|||�|j|||�dS)Nrr)r<r3r]rR�
_render_title�_render_column_titles�_render_rows)rAr7rgrBr
r
rrf�s
zMultiTable._render_sectioncCsb|jr^|jj|j�}|jt||ddt|j��d�|jr^|jr^|jdd|dd�dS)NrrDz+%s+rcr)r2r]rOrFr*rr0r/)rAr7rgrBr2r
r
rroszMultiTable._render_titlec	Cs�|js
dS|jd|d�}d}d}d}xXt||j�D]H\}}	|jj|	�}
|rTd}d}nd}|t|
||dt|	�d�7}||7}q2W|j||�|j|d	�dS)
Nri)r,rgr rTrF)rr#r$r%r&rD)	r0�calculate_column_widthsr4r]rPr*r�_write_line_breakrF)rAr7rgrB�widths�currentr(�firstrr9Zstylized_headerr$r
r
rrps&z MultiTable._render_column_titlescCsjg}d}xB|D]:}|r2|jdd|d�d}q|jdd|d�qW|jd�|jd	j|��dS)
NTz+%s+rcrFz%s+rrDr )r!rFr")rArBrt�partsrvrr
r
rrs&s

zMultiTable._write_line_breakc

Cs�|js
dS|jd|d�}|s dS|j||�x�|jD]x}d}d}d}xXt||�D]J\}	}
|rfd}d}nd}|jj|
�}|t||	||jt|
�d�7}||	7}qPW|j	|d	�q4W|j||�dS)
Nri)r,rgr rTrF)rr#r$r%r&rD)
r/rrrsr4r]rQr-r^rrF)
rAr7rgrBrt�rowrur(rvrr:r$Zstylizedr
r
rrq4s0zMultiTable._render_rows)NTrNNT)r)rKrLrMrCr`rbr5r8rhrerdrfrorprsrqr
r
r
rrY�s


	rYc@s`eZdZdd�Zdd�Zddd�Zdd
d�Zdd
�Zdd�Zdd�Z	dd�Z
dd�Zdd�ZdS)r1cCs(d|_g|_g|_d|_d|_g|_dS)Nr r)r2r0r/r3�	_num_cols�_max_widths)rAr
r
rrCSszSection.__init__cCsd|j|j|jt|j�fS)Nz;Section(title=%s, headers=%s, indent_level=%s, num_rows=%s))r2r0r3r+r/)rAr
r
r�__repr__[szSection.__repr__rNcs��fdd�|jD�}|dkr |S|s(|S|tt|����fdd�|D�}t|�|}xz|dkr�tt|��}|dkr|t|�}xP|D]H}|dkr�||d8<|d8}n||d7<|d7}|dkr�Pq�WqXW|SdS)Ncsg|]}|��qSr
r
)r�w)r,r
r�
<listcomp>asz3Section.calculate_column_widths.<locals>.<listcomp>csg|]}tt�|���qSr
)�int�round)rr|)�scale_factorr
rr}isrr)rz�floatr�ranger+�reversed)rAr,rgZunscaled_widthsZscaledZoff_byZ
iter_orderr6r
)r,r�rrr_s*



zSection.calculate_column_widthsFcCsZd}d}x|j�D]}|||7}qW|r2||7}|||7}tt|j�||||�S)Nrr)rrrnrr2)rAr,rjrkZtotalZborder_paddingr|r
r
rrl|szSection.total_widthcCs
||_dS)N)r2)rAr2r
r
rr`�szSection.add_titlecCs.|j|�|jdkrt|�|_|j|�|_dS)N)�_update_max_widthsryr+�_format_headersr0)rAr0r
r
rra�s


zSection.add_headercCs|S)Nr
)rAr0r
r
rr��szSection._format_headerscCs\|jdkrt|�|_t|�|jkr8td|jt|�f��|j|�}|jj|�|j|�dS)Nz.Row should have %s elements, instead it has %s)ryr+�
ValueError�_format_rowr/r!r�)rArxr
r
rr5�s


zSection.add_rowcCsdd�|D�S)NcSsg|]}tj|��qSr
)rr
)r�rr
r
rr}�sz'Section._format_row.<locals>.<listcomp>r
)rArxr
r
rr��szSection._format_rowcCsL|jsdd�|D�|_n0x.t|�D]"\}}tt|�|j|�|j|<q"WdS)NcSsg|]}t|��qSr
)r)r�elr
r
rr}�sz.Section._update_max_widths.<locals>.<listcomp>)rzr.rnr)rArxr6r�r
r
rr��szSection._update_max_widths)rN)rFr)
rKrLrMrCr{rrrlr`rar�r5r�r�r
r
r
rr1Rs


r1)r)rrrN)rrNr)rrrrTZawscli.utilsrZ
awscli.compatrrUrrr*r-r;�objectr<rNrSrYr1r
r
r
r�<module>
s(