o
    g                     @   s*   d dl mZ d dlmZ G dd dZdS )    )OrderedDict)StringIOc                   @   s"   e Zd ZdZdd Zd	ddZdS )
PrettyPrinterzgCleaner pprint output.

    Heavily inspired by the Python pprint module, but more basic for now.

    c                 C   s   t  }| || | S )N)r   _formatgetvalue)selfobjstream r
   I/home/ubuntu/webapp/venv/lib/python3.10/site-packages/zeep/xsd/printer.pypformat   s   zPrettyPrinter.pformat      c                 C   s  t t|dd }|j}t|tr|tju st|trr|tjkrr|d t|}|dkrlt|	 D ]0\}\}	}
|d||   |d|	  |d | j
|
||d d ||d k r]|d	 |d
 q1|d||d    |d d S t|tr|tju r|d t|}|dkr|d
 t|D ]$\}}
|d||   | j
|
||d d ||d k r|d	 |d
 q|d||d    |d d S t|}
d
|
v r|
d
}t|}t|D ] \}}|dkr|d||d    || ||d k r|d
 qd S ||
 d S )N__repr__z{
r    z'%s'z: r   )level,
}[])getattrtypewrite
isinstancedictr   r   len	enumerateitemsr   listreprsplit)r   r   r	   indentr   _reprr   numikeyvaluelinesliner
   r
   r   r      sZ   



zPrettyPrinter._formatN)r   r   )__name__
__module____qualname____doc__r   r   r
   r
   r
   r   r      s    r   N)collectionsr   ior   r   r
   r
   r
   r   <module>   s    