HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/output/__pycache__/nested.cpython-310.pyc
o

�N�g�@sVdZddlmZddlmZddlZddlZddlZddl	ZGdd�d�Z
dd�ZdS)	a�
Recursively display nested data
===============================

This is the default outputter for most execution functions.

Example output::

    myminion:
        ----------
        foo:
            ----------
            bar:
                baz
            dictionary:
                ----------
                abc:
                    123
                def:
                    456
            list:
                - Hello
                - World
�)�Mapping)�NumberNc@s,eZdZdZddd�Zddd�Zd	d
�ZdS)
�NestDisplayz,
    Manage the nested display contents
    rcCs<|j�tjj�t�d�t�d���t�dd�|_||_	dS)N�colorZcolor_theme�strip_colorsT)
�__dict__�update�salt�utilsrZ
get_colors�__opts__�getr�retcode)�selfr
�r�F/opt/saltstack/salt/lib/python3.10/site-packages/salt/output/nested.py�__init__(s��
zNestDisplay.__init__�NcCs�|dur|j}|d9}d}z|�||||||�WStyIz|�|||tjj�|�||�WYStyHt|��||||||�YYSww)N� z{0}{1}{2}{3}{4}{5})ZENDC�format�UnicodeDecodeErrorr	r
�stringutils�
to_unicode�str)r�indentr�msg�prefix�suffixZendc�fmtrrr�ustring1s(
� ��zNestDisplay.ustringc

Cs�t|t�rz	tjj�|�}Wn	tyYnw|dus$|dus$|dur3|�|j||j	||d��|St|t
�rI|�|j||j	t|�|d��|St|t�r�d}|�
�D]9}|s^dt|�n|}t|t�ru|�|j||jd|d��|S|jr~tj�|�}|�|j||j||d��d}qT|St|ttf�r�|j}|jdkr�|j}|D]0}	t|	tttf�r�|�|�||d��t|	t�r�d	nd
}|�|	|d||�q�|�|	|d
|�q�|St|t��rM|r�|j}|jdkr�|j}|�|�||d��t|tjjj��r|��}
nzt|�}
Wnt�yd
d�|� �D�}t|�}
Ynw|j}|jdk�r,|j}|
D]}||}|�|j|||d|d��|�||dd	|��q.|S)zV
        Recursively iterate down through data structures to determine output
        NTF)rrzNot string datarz|_rz- �z
----------cSsi|]	\}}t|�|�qSr)r)�.0�k�vrrr�
<dictcomp>��z'NestDisplay.display.<locals>.<dictcomp>�:)rr�)!�
isinstance�bytesr	r
rrr�appendrZLIGHT_YELLOWr�reprr�
splitlines�lenZYELLOWr�outputZstrip_esc_sequenceZGREEN�list�tupler
ZREDr�displayZCYANZodict�OrderedDict�keys�sorted�	TypeError�items)
r�retrr�out�
first_line�lineZline_prefixrZindr2�key�valrrrr0Hs�
�<
��6
�

��)�%�
�

�zNestDisplay.display)r)rrN)�__name__�
__module__�__qualname__�__doc__rrr0rrrrr#s


	rcKsr|�dd�}|�dd�pt�dd�}t|d�}|�||dg�}zd�|�WSty8d�dd�|D��YSw)	z
    Display ret data
    Z_retcoderZ
nested_indent)r
r�
cSsg|]	}tjj�|��qSr)r	r
rZto_str)r �xrrr�
<listcomp>�r$zoutput.<locals>.<listcomp>)rrrr0�joinr)r6�kwargsr
Zbase_indentZnest�linesrrrr-�s
�r-)r?�collections.abcrZnumbersrZsalt.outputr	Zsalt.utils.colorZsalt.utils.odictZsalt.utils.stringutilsrr-rrrr�<module>sp