Current File : //usr/lib/python3/dist-packages/uaclient/cli/__pycache__/formatter.cpython-312.pyc
�

��Jh�"���ddlZddlZddlZddlZddlZddlmZddlmZm	Z	m
Z
mZddlm
Z
ddlmZdZdZdZd	d
dd�ZGd
�de�ZGd�d�Zej-e
���dededefd�Zdedefd�Zd�Zdedefd�Zdedede
efd�ZGd�dej<�ZGd�de�Z Gd�d e�Z!y)!�N)�Enum)�Any�Dict�List�Optional)�UAConfig)�TxtColorz
\033\[.*?mz\033]8;;.+?\033\\+z]8;;\�-�x�*)u—u✘u✔c��eZdZdZdZy)�ContentAlignment�l�rN)�__name__�
__module__�__qualname__�LEFT�RIGHT���8/usr/lib/python3/dist-packages/uaclient/cli/formatter.pyrrs���D��Errc�<�eZdZdZdZedefd��Zedd��Zy)�ProOutputFormatterConfigT�cfgc��tjjduxr*dtjjj�v|_tjj�xrt
jd�du|_y)NzUTF-8�NO_COLOR)	�sys�stdout�encoding�upper�use_utf8�isatty�os�getenv�	use_color)�clsrs  r�initzProOutputFormatterConfig.init!sf��
�J�J���t�+�
7��3�:�:�.�.�4�4�6�6�	��
�
�
�)�)�+�M��	�	�*�0E��0M��
rNc��d|_y)NF)r&)r's r�
disable_colorz&ProOutputFormatterConfig.disable_color*s	����
r)�returnN)	rrrr"r&�classmethodrr(r*rrrrrs>���H��I��N�x�N��N����rr)r�text�urlr+c�(�dj||��S)Nz]8;;{url}\{text}]8;;\)r.r-)�format)r-r.s  r�create_linkr12s��4�;�;��$�;�O�Orc��tjtd|�}tjtd|�}|j	t
d�}t
|�S)N�)�re�sub�COLOR_FORMATTING_PATTERN�LINK_START_PATTERN�replace�LINK_END�len)r-�results  r�real_lenr<6sB��
�V�V�,�b�$�
7�F�
�V�V�&��F�
3�F�
�^�^�H�b�
)�F��v�;�rc�|�tjj�rtj�j
Sy)Ni�)rrr#r$�get_terminal_size�columnsrrr�_get_default_lengthr@@s,��
�z�z�����#�#�%�-�-�-�rc��|}tjstjtd|�}tj
sNtj�D]\}}|j||�}�|jdd�j�}tjj�s1tjtd|�}|jtd�}|S)Nr3�ascii�ignore)rr&r4r5r6r"�UTF8_ALTERNATIVES�itemsr8�encode�decoderrr#r7r9)r-�output�char�alternatives    r�process_formatter_configrKHs���
�F�#�-�-����0�"�d�;��#�,�,�!2�!8�!8�!:�	7��D�+��^�^�D�+�6�F�	7����w��1�8�8�:���:�:�������*�B��7������"�-���Mr�	max_widthc�(�t|�|kr|gS|j�}g}d}|D]F}t|�t|�z|k\r"|j|j��|}�?|d|zz
}�H|r|j|j��|S)Nr3� )r<�split�append�strip)r-rL�words�
wrapped_lines�current_line�words      r�	wrap_textrV[s�����~��"��v�
��J�J�L�E��M��L��'���L�!�H�T�N�2�i�?�� � ��!3�!3�!5�6��L��C�$�J�&�L�'�����\�/�/�1�2��rc�H�eZdZejddeedefd��Zd�Z	y)�ProOutputFormatterN�line_lengthr+c��y�Nr)�selfrYs  r�	to_stringzProOutputFormatter.to_stringqs��rc�"�|j�Sr[)r]�r\s r�__str__zProOutputFormatter.__str__us���~�~��rr[)
rrr�abc�abstractmethodr�int�strr]r`rrrrXrXps1�����
�X�c�]�
�c�
��
� rrXc	��eZdZdZ			ddeeedeeeedeeefd�Ze	dede
d	efd
��Ze	dede
d	efd��Zd	ee
fd�Z
dd
ee
d	efd�Zd	e
fd�Zde
d	eeefd�Zdeed	efd�Zy)�Tablez  N�headers�rows�	alignmentc��|�|ng|_|�|ng|_|j�|_|�|n&tj
gt
|j�z|_t
|j�t
|j�k7r-tdjt
|j����|jd|_
y)Nz&'alignment' list should have length {}���)rgrh�_get_column_sizes�column_sizesrrr:ri�
ValueErrorr0�last_column_size)r\rgrhris    r�__init__zTable.__init__|s���#*�"5�w�2��� �,�D�"��	� �2�2�4����$�
�"�'�'�(�3�t�/@�/@�+A�A�	
��
�t�~�~��#�d�&7�&7�"8�8��8�?�?���)�)�*���
�
!%� 1� 1�"� 5��r�string�total_lengthr+c�<�t|�}||k\r|S|d||z
zzS�NrN�r<�rqrr�
str_lengths   r�ljustzTable.ljust�s.���f�%�
���%��M���|�j�8�9�9�9rc�<�t|�}||k\r|Sd||z
z|zSrtrurvs   r�rjustzTable.rjust�s.���f�%�
���%��M��l�Z�/�0�6�9�9rc�2���|js|jstd��|jr'td�|jD��rtd��g}|jr|j	|j�|jr|j|j�t
|d��t�fd�|D��std��g}tt
|d��D]%�|j	t�fd�|D����'|S)Nz:Empty table not supported. Please provide headers or rows.c3�8K�|]}t|�dk(���y�w)rN�r:)�.0�items  r�	<genexpr>z*Table._get_column_sizes.<locals>.<genexpr>�s����B��S��Y�!�^�B�s�z=Empty row not supported. Please provide content for each row.rc3�:�K�|]}t|��k(���y�wr[r})r~r�expected_lengths  �rr�z*Table._get_column_sizes.<locals>.<genexpr>�s�����H�D�3�t�9��/�H�s�zQMixed lengths in table content. Please provide headers / rows of the same length.c3�L�K�|]}tt|������y�wr[)r<rd)r~r�is  �rr�z*Table._get_column_sizes.<locals>.<genexpr>�s�����C�t�H�S��a��\�*�C�s�!$)
rgrhrn�anyrP�extendr:�all�range�max)r\�all_contentrmr�r�s   @@rrlzTable._get_column_sizes�s�����|�|�D�I�I��L��
��9�9��B��	�	�B�B��O��
����<�<����t�|�|�,��9�9����t�y�y�)��k�!�n�-���H�K�H�H��D��
�
���s�;�q�>�*�+�	�A�����C�{�C�C�
�	�
�rrYc�r�|�
t�}|j}|j�|kDr|j|�}d}|jrC|t
j|j|j�zt
jzdzz
}|D]}||j|�z
}|dz
}�t|�S)Nr3�
)
r@rh�_get_line_length�wrap_last_columnrgr	�BOLD�	_fill_row�ENDCrK)r\rYrhrH�rows     rr]zTable.to_string�s�����-�/�K��y�y��� � �"�[�0��(�(��5�D����<�<���
�
��.�.����.�/��-�-� ���
�F��	�C��d�n�n�S�)�)�F��d�N�F�	�(��/�/rc��t|j�t|j�dz
t|j�zzS)N�)�sumrmr:�	SEPARATORr_s rr�zTable._get_line_length�s@���4�$�$�%��T�->�->�)?�!�)C�s��N�N�H
�)
�
�	
r�
max_lengthc��|t|jdd�t|j�dz
t|j�zzz
|_g}|j
D]�}t|d�|jkr|j
|��0t|d|j�}|j
|dd|dgz�|ddD]3}dgt|j�dz
z|gz}|j
|��5��|S)Nrkr�rrN)r�rmr:r�rorhrPrV)r\r��new_rowsr��wrapped_last_column�
extra_line�new_rows       rr�zTable.wrap_last_column�s�� *���!�!�#�2�&�'��4�$�$�%��)�S����-@�@�
A�!
������9�9�
	-�C��3�r�7�|�t�4�4�4�����$�&/��B���9N�9N�&O�#�����C�R��,?��,B�+C� C�D�"5�a�b�"9�-�J�"�e�s�4�+<�+<�'=��'A�B�"�F��G��O�O�G�,�	-�
	-��rr�c�f�d}tt|�dz
�D]�}|j|tjk(r3||j|||j|�|jzz
}�V|j|tjk(s�w||j|||j|�|jzz
}��|jdtjk(r
||dz
}|S|jdtjk(r"||j|d|j�z
}|S)Nr3r�rk)r�r:rirrrxrmr�rrzro)r\r�rHr�s    rr�zTable._fill_row�s"�����s�3�x�!�|�$�	�A��~�~�a� �$4�$9�$9�9���J�J�s�1�v�t�'8�'8��';�<�t�~�~�M�������"�&6�&<�&<�<���J�J�s�1�v�t�'8�'8��';�<�t�~�~�M���
	��>�>�"��!1�!6�!6�6��c�"�g��F��
��^�^�B�
�#3�#9�#9�
9��d�j�j��R��$�*?�*?�@�@�F��
r)NNNr[)rrrr�rrrdrrp�staticmethodrcrxrzrlr]r�r�r�rrrrfrfys���I�(,�*.�6:�	6��$�s�)�$�6��t�D��I��'�6��D�!1�2�3�	6�,�:�c�:��:��:��:��:�c�:��:��:��:��4��9��@0�X�c�]�0�c�0�*
�#�
�
�3��4��S�	�?��&�T�#�Y��3�rrfc�T�eZdZdZdZ		d
deedeeefd�Z	ddee
defd	�Zy)�Block�rNN�title�contentc�4�||_|�||_yg|_yr[)r�r�)r\r�r�s   rrpzBlock.__init__s��
��
�")�"5�w���2��rrYr+c�
�|�
t�}||jz}d}|jrE|tjtj
z|jztjzdzz
}|jD]|}t|t�r|j|��}n'djtt|�|��dz}|tj||j |jz�z
}�~t#|�S)Nr3r�)rY)r@�INDENT_SIZEr�r	r��DISABLEGREYr�r��
isinstancerXr]�joinrVrd�textwrap�indent�INDENT_CHARrK)r\rYrHr�item_strs     rr]zBlock.to_strings�����-�/�K��t�'�'�'�����:�:���
�
��&�&�'��*�*���-�-� ��	�
�F��L�L�	�D��$� 2�3��>�>�k�>�B���9�9�Y�s�4�y�+�%F�G�$�N���h�o�o��$�*�*�T�-=�-=�=��
�F�
	�(��/�/r)NNr[)rrrr�r�rrdrrrprcr]rrrr�r��sO���K��K� $�'+�>���}�>��$�s�)�$�>�0�X�c�]�0�c�0rr�)"rar$r4rr��enumr�typingrrrr�uaclient.configr�uaclient.messagesr	r6r7r9rDrrr(rdr1rcr<r@rKrV�ABCrXrfr�rrr�<module>r�s��
�	�	�
���,�,�$�&�(��*����������t����&���(�*��-�P�c�P��P��P��3��3����3��3��&�C��C��D��I��* ���� �C��C�L'0��'0r