CasperSecurity

Current Path : /lib/python3/dist-packages/uaclient/cli/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/uaclient/cli/__pycache__/formatter.cpython-310.pyc

o

��Jh�"�@s:ddlZddlZddlZddlZddlZddlmZddlmZm	Z	m
Z
mZddlm
Z
ddlmZdZdZdZd	d
dd�ZGd
d�de�ZGdd�d�Zeje
�d�dededefdd�Zdedefdd�Zdd�Zdedefdd�Zdedede
efdd�ZGd d!�d!ej�ZGd"d#�d#e�Z Gd$d%�d%e�Z!dS)&�N)�Enum)�Any�Dict�List�Optional)�UAConfig)�TxtColorz
\033\[.*?mz\033]8;;.+?\033\\+z]8;;\�-�x�*)u—u✘u✔c@seZdZdZdZdS)�ContentAlignment�l�rN)�__name__�
__module__�__qualname__�LEFT�RIGHT�rr�8/usr/lib/python3/dist-packages/uaclient/cli/formatter.pyrsrc@s4eZdZdZdZedefdd��Zed	dd��ZdS)
�ProOutputFormatterConfigT�cfgcCs<tjjduo
dtjj��v|_tj��ot�d�du|_dS)NzUTF-8�NO_COLOR)	�sys�stdout�encoding�upper�use_utf8�isatty�os�getenv�	use_color)�clsrrrr�init!s�zProOutputFormatterConfig.init�returnNcCs
d|_dS)NF)r!)r"rrr�
disable_color*s
z&ProOutputFormatterConfig.disable_color)r$N)	rrrrr!�classmethodrr#r%rrrrrsr)r�text�urlr$cCsdj||d�S)Nz]8;;{url}\{text}]8;;\)r(r')�format)r'r(rrr�create_link2sr*cCs0t�td|�}t�td|�}|�td�}t|�S)N�)�re�sub�COLOR_FORMATTING_PATTERN�LINK_START_PATTERN�replace�LINK_END�len)r'�resultrrr�real_len6sr4cCstj��r
t��jSdS)Ni�)rrrr�get_terminal_size�columnsrrrr�_get_default_length@s

r7cCst|}tjst�td|�}tjs&t��D]
\}}|�||�}q|�	dd��
�}tj�
�s8t�td|�}|�td�}|S)Nr+�ascii�ignore)rr!r,r-r.r�UTF8_ALTERNATIVES�itemsr0�encode�decoderrrr/r1)r'�output�char�alternativerrr�process_formatter_configHs
rA�	max_widthcCsvt|�|kr	|gS|��}g}d}|D]}t|�t|�|kr)|�|���|}q|d|7}q|r9|�|���|S)Nr+� )r4�split�append�strip)r'rB�words�
wrapped_lines�current_line�wordrrr�	wrap_text[srKc@s2eZdZejddeedefdd��Zdd�Z	dS)	�ProOutputFormatterN�line_lengthr$cCsdS�Nr)�selfrMrrr�	to_stringqszProOutputFormatter.to_stringcCs|��SrN)rP�rOrrr�__str__uszProOutputFormatter.__str__rN)
rrr�abc�abstractmethodr�int�strrPrRrrrrrLpsrLc	@s�eZdZdZ			ddeeedeeeedeeefdd�Ze	ded	e
d
efdd��Ze	ded	e
d
efd
d��Zd
ee
fdd�Z
ddee
d
efdd�Zd
e
fdd�Zde
d
eeefdd�Zdeed
efdd�ZdS)�Tablez  N�headers�rows�	alignmentcCs�|dur|ng|_|dur|ng|_|��|_|dur|ntjgt|j�|_t|j�t|j�kr;td�	t|j����|jd|_
dS)Nz&'alignment' list should have length {}���)rXrY�_get_column_sizes�column_sizesrrr2rZ�
ValueErrorr)�last_column_size)rOrXrYrZrrr�__init__|s
����zTable.__init__�string�total_lengthr$cCs$t|�}||kr
|S|d||S�NrC�r4�rarb�
str_lengthrrr�ljust��zTable.ljustcCs$t|�}||kr
|Sd|||Srcrdrerrr�rjust�rhzTable.rjustcs�|js
|js
td��|jrtdd�|jD��rtd��g}|jr&|�|j�|jr/|�|j�t|d��t�fdd�|D��sDtd��g}tt|d��D]�|�t	�fdd�|D���qN|S)	Nz:Empty table not supported. Please provide headers or rows.css�|]	}t|�dkVqdS)rN�r2��.0�itemrrr�	<genexpr>���z*Table._get_column_sizes.<locals>.<genexpr>z=Empty row not supported. Please provide content for each row.rc3s�|]	}t|��kVqdSrNrjrk)�expected_lengthrrrn�rozQMixed lengths in table content. Please provide headers / rows of the same length.c3s �|]}tt|���VqdSrN)r4rVrk)�irrrn�s�)
rXrYr^�anyrE�extendr2�all�range�max)rO�all_contentr]r)rprqrr\�s0����zTable._get_column_sizesrMcCs||durt�}|j}|��|kr|�|�}d}|jr*|tj|�|j�tjd7}|D]
}||�|�7}|d7}q,t	|�S)Nr+�
)
r7rY�_get_line_length�wrap_last_columnrXr�BOLD�	_fill_row�ENDCrA)rOrMrYr>�rowrrrrP�s(

����
zTable.to_stringcCs"t|j�t|j�dt|j�S)N�)�sumr]r2�	SEPARATORrQrrrry�s�zTable._get_line_length�
max_lengthcCs�|t|jdd��t|j�dt|j�|_g}|jD]B}t|d�|jkr.|�|�qt|d|j�}|�|dd�|dg�|dd�D]}dgt|j�d|g}|�|�qJq|S)Nr[rrrC)r�r]r2r�r_rYrErK)rOr��new_rowsr~�wrapped_last_column�
extra_line�new_rowrrrrz�s$��
��zTable.wrap_last_columnr~cCs�d}tt|�d�D]3}|j|tjkr%||�|||j|�|j7}q
|j|tjkr=||�	|||j|�|j7}q
|jdtjkrN||d7}|S|jdtjkra||�	|d|j
�7}|S)Nr+rr[)rur2rZrrrgr]r�rrir_)rOr~r>rqrrrr|�s"����zTable._fill_row)NNNrN)rrrr�rrrVrr`�staticmethodrUrgrir\rPryrzr|rrrrrWys*�
��

� rWc@sPeZdZdZdZ		ddeedeeefdd�Z	d
dee
d	efd
d�ZdS)�Block�rCN�title�contentcCs"||_|dur||_dSg|_dSrN)r�r�)rOr�r�rrrr`szBlock.__init__rMr$cCs�|durt�}||j8}d}|jr!|tjtj|jtjd7}|jD]&}t|t	�r2|j
|d�}nd�tt
|�|��d}|t�||j|j�7}q$t|�S)Nr+rx)rM)r7�INDENT_SIZEr�rr{�DISABLEGREYr}r��
isinstancerLrP�joinrKrV�textwrap�indent�INDENT_CHARrA)rOrMr>rm�item_strrrrrPs0
�����

�zBlock.to_string)NNrN)rrrr�r�rrVrrr`rUrPrrrrr��s��

�r�)"rSrr,rr��enumr�typingrrrr�uaclient.configr�uaclient.messagesrr.r/r1r:rrr#rVr*rUr4r7rArK�ABCrLrWr�rrrr�<module>s8�
	
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY