o
    iw	                     @   sx   d dl Z d dlmZ d dlZd dlmZ d dlmZ d dlZ	ej
p"dZ
G dd dejZddd	Zed
kr:e  dS dS )    N)Decimal)stdout)UUIDzUTF-8c                   @   s   e Zd Zdd ZdS )CleanJSONEncoderc                 C   sR   t |tjtjfr| S t |ttfrt|S t |tr"|dS t	j
| |S )Nz
iso-8859-1)
isinstancedatetimedate	isoformatr   r   strbytesdecodejsonJSONEncoderdefault)selfobj r   W/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/fastavro/__main__.pyr      s   

zCleanJSONEncoder.defaultN)__name__
__module____qualname__r   r   r   r   r   r      s    r   c                 C   s  dd l }ddlm} | p|j} |dd}|jdddd |jd	d
ddd |jddddd |jddddd |jdddtj d |jdddddd || dd  }|jrht	d
ttjj td |jpmdg}|D ]b}|dkr{|jj}nt|d}t|}|jrtj|j|jdd |jd qp|jr|jd= tj|j|jdd |jd qp|jrdnd }	|D ]}
tj|
|j|	td  |jd |j  qqpd S )!Nr   )ArgumentParserz)iter over avro file, emit records as JSON)descriptionfilez#file(s) to parse, use `-' for stdin*)helpnargsz--schemazdump schema instead of records
store_trueF)r   actionr   z
--metadataz dump metadata instead of recordsz--codecszprint supported codecsz	--versionversionz	fastavro )r   r   z-pz--prettyzpretty print json   
-rb   )indentzavro.schema)r%   cls)sysargparser   argvadd_argumentavro__version__
parse_argscodecsprintjoinsortedreadBLOCK_READERSexitr   stdinbufferopenreaderschemar   dumpr   writemetadataprettyr   flush)r)   r'   r   parserargsfilesfilenamefor8   r%   recordr   r   r   main   sh   





rE   __main__)N)r   decimalr   r   r'   r   uuidr   fastavror+   encodingr   r   rE   r   r   r   r   r   <module>   s    

>
