HEX
Server: Apache
System: Linux srv1.prosuiteplus.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: prosuiteplus (1001)
PHP: 8.3.20
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/awscli/__pycache__/formatter.cpython-38.pyc
U

>�^�+�@s�ddlZddlmZddlmZddlmZddlmZm	Z	m
Z
ddlmZddlm
Z
ddlmZe�e�Zd	d
�ZGdd�de�ZGd
d�de�ZGdd�de�ZGdd�de�ZGdd�de�Zdd�ZdS)�N)�json)�set_value_from_jmespath)�PageIterator)�
MultiTable�Styler�ColorizedStyler)�text)�compat)�json_encodercCs
t|t�S�N)�
isinstancer)�response�r�2/usr/lib/python3/dist-packages/awscli/formatter.py�is_response_paginatedsrc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�	FormattercCs
||_dSr)�_args)�self�argsrrr�__init__"szFormatter.__init__cCs>d|kr:d|kr:d|dkr4|dd}t�d|�|d=dS)NZErrorsZResponseMetadataZ	RequestIdz
RequestId: %s)�LOG�debug)r�
response_dataZ
request_idrrr�_remove_request_id%szFormatter._remove_request_idcCst��Sr)r	Zget_stdout_text_writer�rrrr�_get_default_stream1szFormatter._get_default_streamcCs&z|��Wntk
r YnXdSr)�flush�IOError)r�streamrrr�
_flush_stream4szFormatter._flush_streamN)�__name__�
__module__�__qualname__rrrrrrrrr!src@seZdZddd�ZdS)�FullyBufferedFormatterNc
Cs�|dkr|��}t|�r"|��}n|}|�|�|jjdk	rJ|jj�|�}z:z|�|||�Wn"t	k
r�}zW5d}~XYnXW5|�|�XdSr)
rrZbuild_full_resultrr�query�searchr�_format_responser)r�command_namer
rr�errr�__call__<s

zFullyBufferedFormatter.__call__)N)r r!r"r)rrrrr#;sr#c@seZdZdd�ZdS)�
JSONFormattercCs*|ikr&tj||dtdd�|�d�dS)N�F)�indent�defaultZensure_ascii�
)r�dumpr
�write�rr'r
rrrrr&Ys
�zJSONFormatter._format_responseN)r r!r"r&rrrrr*Wsr*cs\eZdZdZd�fdd�	Zdd�Zddd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Z�ZS)�TableFormatterz�Pretty print a table from a given response.

    The table formatter is able to take any generic response
    and generate a pretty printed table.  It does this without
    using the output definition from the model.

    Ncs�tt|��|�|jdkr*tddd�|_nR|jdkrLt�}tdd|d�|_n0|jdkrnt�}tdd|d�|_ntd|j��dS)	N�autoF�|)�initial_section�column_separatorZoff)r5r6�stylerZonzUnknown color option: %s)	�superr2rZcolorr�tablerr�
ValueError)rrr9r7��	__class__rrrls$
�

�

�
zTableFormatter.__init__cCs6|�||�r2z|j�|�Wntk
r0YnXdSr)�_build_tabler9Zrenderrr1rrrr&|s
zTableFormatter._format_responsercs�|sdS|dk	r �jj||d�t|t�r�t|dt�rH��|||�nV|D]P}��|�rj�j�|g�qLt�fdd�|D��r��j�|�qL�j	d|d�qLt|t�r���
||�dS)NF��indent_levelrc3s|]}��|�VqdSr)�_scalar_type)�.0Zelrrr�	<genexpr>�sz.TableFormatter._build_table.<locals>.<genexpr>)�title�currentT)r9�new_sectionr�list�dict�_build_sub_table_from_listr@�add_row�allr=�_build_sub_table_from_dict)rrCrDr?�itemrrrr=�s 


zTableFormatter._build_tablecs�|���\}}t|�dkr8|j�|d�|dg�n*|rb|j�|�|j��fdd�|D��|D]}|j|�||dd�qfdS)N�rcsg|]}�|�qSrr)rA�k�rDrr�
<listcomp>�sz=TableFormatter._build_sub_table_from_dict.<locals>.<listcomp>r>)�_group_scalar_keys�lenr9rI�add_row_headerr=)rrDr?�headers�more�	remainingrrOrrK�s�z)TableFormatter._build_sub_table_from_dictcs�|�|�\}}|j�|�d}|D]p�|sJ|rJ|jj||d�|j�|�d}|j��fdd�|D��|D]$}|�krl|j|�||dd�qlq"dS)NTr>Fcsg|]}��|d��qS)�)�get)rA�header��elementrrrP�sz=TableFormatter._build_sub_table_from_list.<locals>.<listcomp>rM)�_group_scalar_keys_from_listr9rSrErIr=)rrDr?rCrTrU�firstrVrrZrrH�s ��z)TableFormatter._build_sub_table_from_listcCst|ttf�Sr)rrFrG)rr[rrrr@�szTableFormatter._scalar_typecCsXt�}t�}|D]&}|�|�\}}|�|�|�|�qtt|��}tt|��}||fSr)�setrQ�updaterF�sorted)rZ
list_of_dictsrTrUrLZcurrent_headersZcurrent_morerrrr\�s
z+TableFormatter._group_scalar_keys_from_listcCsNg}g}|D](}|�||�r*|�|�q|�|�q|��|��||fSr)r@�append�sort)rrDrUrTr[rrrrQ�sz!TableFormatter._group_scalar_keys)N)r)
r r!r"�__doc__rr&r=rKrHr@r\rQ�
__classcell__rrr;rr2ds

r2c@seZdZddd�Zdd�ZdS)�
TextFormatterNc
	Cs�|dkr|��}z�t|�r�|j}t|�D]J\}}|dkr>i}n|j}|D]}|�|�}	t||j|	�qH|�	||�q(|j
r�|�	dd|j
ii|�n|�|�|�	||�W5|�|�XdS)NrZ	NextToken)rrr�result_keys�	enumerateZnon_aggregate_partr%r�
expressionr&Zresume_tokenr)
rr'r
rrf�iZpagerDZ
result_key�datarrrr)�s2
��
zTextFormatter.__call__cCs.|jjdk	r|jj}|�|�}t�||�dSr)rr$r%rZformat_text)rr
rrhrrrr&s
zTextFormatter._format_response)N)r r!r"r)r&rrrrre�s
"recCs@|dkrt|�S|dkr t|�S|dkr0t|�Std|��dS)Nrrr9zUnknown output type: %s)r*rer2r:)Zformat_typerrrr�
get_formatter
srk)ZloggingZbotocore.compatrZbotocore.utilsrZbotocore.paginaterZawscli.tablerrrZawsclirr	Zawscli.utilsr
Z	getLoggerr rr�objectrr#r*r2rerkrrrr�<module>
s

~+