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: //lib/python3.6/site-packages/awscli/__pycache__/formatter.cpython-36.opt-1.pyc
3

�T_�+�@s�ddlZddlmZddlmZddlmZddlmZm	Z	m
Z
ddlmZddlm
Z
ddlmZeje�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
�/usr/lib/python3.6/formatter.py�is_response_paginatedsrc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�	FormattercCs
||_dS)N)�_args)�self�argsr
r
r�__init__"szFormatter.__init__cCs>d|kr:d|kr:d|dkr4|dd}tjd|�|d=dS)NZErrorsZResponseMetadataZ	RequestIdz
RequestId: %s)�LOG�debug)r�
response_dataZ
request_idr
r
r�_remove_request_id%szFormatter._remove_request_idcCstj�S)N)r	Zget_stdout_text_writer)rr
r
r�_get_default_stream1szFormatter._get_default_streamcCs&y|j�Wntk
r YnXdS)N)�flush�IOError)r�streamr
r
r�
_flush_stream4szFormatter._flush_streamN)�__name__�
__module__�__qualname__rrrrr
r
r
rr!src@seZdZddd�ZdS)�FullyBufferedFormatterNcCs�|dkr|j�}t|�r"|j�}n|}|j|�|jjdk	rJ|jjj|�}z:y|j|||�Wn"tk
r�}zWYdd}~XnXWd|j	|�XdS)N)
rrZbuild_full_resultrr�query�search�_format_responserr)r�command_namerrr�er
r
r�__call__<s

zFullyBufferedFormatter.__call__)N)rrr r'r
r
r
rr!;sr!c@seZdZdd�ZdS)�
JSONFormattercCs*|ikr&tj||dtdd�|jd�dS)N�F)�indent�defaultZensure_ascii�
)r�dumpr
�write)rr%rrr
r
rr$YszJSONFormatter._format_responseN)rrr r$r
r
r
rr(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|�j|�|jdkr*tddd�|_nR|jdkrLt�}tdd|d�|_n0|jdkrnt�}tdd|d�|_ntd|j��dS)	N�autoF�|)�initial_section�column_separatorZoff)r2r3�stylerZonzUnknown color option: %s)	�superr/rZcolorr�tablerr�
ValueError)rrr6r4)�	__class__r
rrls


zTableFormatter.__init__cCs6|j||�r2y|jj|�Wntk
r0YnXdS)N)�_build_tabler6Zrenderr)rr%rrr
r
rr$|s
zTableFormatter._format_responsercs�|sdS|dk	r �jj||d�t|t�r�t|dt�rH�j|||�nZxX|D]P}�j|�rl�jj|g�qNt�fdd�|D��r��jj|�qN�j	d|d�qNWt|t�r��j
||�dS)NF)�indent_levelrc3s|]}�j|�VqdS)N)�_scalar_type)�.0Zel)rr
r�	<genexpr>�sz.TableFormatter._build_table.<locals>.<genexpr>)�title�currentT)r6�new_sectionr�list�dict�_build_sub_table_from_listr;�add_row�allr9�_build_sub_table_from_dict)rr>r?r:�itemr
)rrr9�s 



zTableFormatter._build_tablecs�|j��\}}t|�dkr8|jj|d�|dg�n*|rb|jj|�|jj�fdd�|D��x$|D]}|j|�||dd�qhWdS)N�rcsg|]}�|�qSr
r
)r<�k)r?r
r�
<listcomp>�sz=TableFormatter._build_sub_table_from_dict.<locals>.<listcomp>)r:)�_group_scalar_keys�lenr6rD�add_row_headerr9)rr?r:�headers�more�	remainingr
)r?rrF�s
z)TableFormatter._build_sub_table_from_dictcs�|j|�\}}|jj|�d}x~|D]v�|rN|rN|jj||d�|jj|�d}|jj�fdd�|D��x,|D]$}|�krr|j|�||dd�qrWq$WdS)NT)r:Fcsg|]}�j|d��qS)�)�get)r<�header)�elementr
rrJ�sz=TableFormatter._build_sub_table_from_list.<locals>.<listcomp>rH)�_group_scalar_keys_from_listr6rMr@rDr9)rr?r:r>rNrO�firstrPr
)rTrrC�s


z)TableFormatter._build_sub_table_from_listcCst|ttf�S)N)rrArB)rrTr
r
rr;�szTableFormatter._scalar_typecCs\t�}t�}x.|D]&}|j|�\}}|j|�|j|�qWtt|��}tt|��}||fS)N)�setrK�updaterA�sorted)rZ
list_of_dictsrNrOrGZcurrent_headersZcurrent_morer
r
rrU�s

z+TableFormatter._group_scalar_keys_from_listcCsRg}g}x0|D](}|j||�r,|j|�q|j|�qW|j�|j�||fS)N)r;�append�sort)rr?rOrNrTr
r
rrK�s
z!TableFormatter._group_scalar_keys)N)r)
rrr �__doc__rr$r9rFrCr;rUrK�
__classcell__r
r
)r8rr/ds

r/c@seZdZddd�Zdd�ZdS)�
TextFormatterNc
Cs�|dkr|j�}z�t|�r�|j}xZt|�D]N\}}|dkr@i}n|j}x$|D]}|j|�}	t||j|	�qLW|j||�q*W|j	r�|jdd|j	ii|�n|j
|�|j||�Wd|j|�XdS)NrZ	NextToken)rr�result_keys�	enumerateZnon_aggregate_partr#r�
expressionr$Zresume_tokenrr)
rr%rrr_�iZpager?Z
result_key�datar
r
rr'�s.



zTextFormatter.__call__cCs.|jjdk	r|jj}|j|�}tj||�dS)N)rr"r#rZformat_text)rrrrar
r
rr$s
zTextFormatter._format_response)N)rrr r'r$r
r
r
rr^�s
"r^cCs@|dkrt|�S|dkr t|�S|dkr0t|�Std|��dS)Nrrr6zUnknown output type: %s)r(r^r/r7)Zformat_typerr
r
r�
get_formatter
srd)ZloggingZbotocore.compatrZbotocore.utilsrZbotocore.paginaterZawscli.tablerrrZawsclirr	Zawscli.utilsr
Z	getLoggerrrr�objectrr!r(r/r^rdr
r
r
r�<module>
s

~+