U
    ׀d                     @   sX   d Z ddlZddlZddlZddlmZ ddddd	Zd
d Zdd Ze	dkrTe  dS )zDumping command-line utility    N   )compatzname, valuezpath, name, valuez
key, valuevalue)basic_parseparsekvitemsitemsc                 C   s:   t | tjrtjr| d} t | tjr2t| S t| S )Nutf8)
isinstancer   ZtexttypeZIS_PY2encodeZbytetypeZb2sstr)o r   )lib/python3.8/site-packages/ijson/dump.py	to_string   s
    

r   c            
      C   s8  t jdd} | jddddddgd	dd
 | jddddd | jddddd |  }tt|j}d}i }|jdkrz|jf}|jrd|d< dt	|j  }t
| t
dt|  tj}t|dr|j}t||f||}|jdkr|D ]\}}	t
d||	f  qn0|D ]*\}}	t
d|ddd |	D f  qd S ) NzDump ijson events)descriptionz-mz--methodr   r   r   r   zThe method to use for dumping)choiceshelpdefaultz-pz--prefixz#Prefix (used with -M items|kvitems) )r   r   z-Mz--multiple-valueszAllow multiple values
store_true)r   actionr   )r   r   Tmultiple_valuesz#: -bufferz%i: %sz, c                 s   s   | ]}t |V  qd S )N)r   ).0bitr   r   r   	<genexpr>6   s     zdump.<locals>.<genexpr>)argparseArgumentParseradd_argument
parse_argsgetattrijsonmethodprefixr   HEADERSprintlensysstdinhasattrr   	enumeratejoin)
parserargsr$   Zmethod_argsZmethod_kwargsheaderr*   Zenumerated_resultsiresultr   r   r   dump   s6     

r3   __main__)
__doc__r   r)   r#   r   r   r&   r   r3   __name__r   r   r   r   <module>   s    