o
    „s¢Y   ã                   @   sx   d Z ddlZddlZzddlZW n ey   ddlZY nw dZdZdd„ Zdd„ Z	d	d
„ Z
dd„ Zdd„ Zdd„ ZdS )z Tablib - JSON Support
é    NÚjson)r   Újsnc                 C   s*   t | tjƒr
t| ƒS t| dƒr|  ¡ S | S )NÚ	isoformat)Ú
isinstanceÚdecimalÚDecimalÚstrÚhasattrr   )Úobj© r   úF/var/www/html/env/lib/python3.10/site-packages/tablib/formats/_json.pyÚdate_handler   s
   
r   c                 C   s   t j| jtd�S )z'Returns JSON representation of Dataset.©Údefault)r   ÚdumpsÚdictr   )Údatasetr   r   r   Ú
export_set   s   r   c                 C   s   t j|  ¡ td�S )z(Returns JSON representation of Databook.r   )r   r   Ú_packager   )Údatabookr   r   r   Úexport_book!   s   r   c                 C   s   |   ¡  t |¡| _dS )z!Returns dataset from JSON stream.N)Úwiper   Úloadsr   )ÚdsetÚ	in_streamr   r   r   Ú
import_set&   s   r   c                 C   sB   |   ¡  t |¡D ]}t ¡ }|d |_|d |_|  |¡ q	dS )z"Returns databook from JSON stream.ÚtitleÚdataN)r   r   r   ÚtablibÚDatasetr   r   Ú	add_sheet)Údbookr   Úsheetr   r   r   r   Úimport_book-   s   

ür#   c                 C   s&   zt  | ¡ W dS  ty   Y dS w )z+Returns True if given stream is valid JSON.TF)r   r   Ú
ValueError)Ústreamr   r   r   Údetect8   s   
ÿr&   )Ú__doc__r   r   Úujsonr   ÚImportErrorr   Ú
extensionsr   r   r   r   r#   r&   r   r   r   r   Ú<module>   s    ÿ
