
    fh                     N    d Z ddlZddlZddlmZ ddlZd Z G d d          ZdS )z Tablib - JSON Support
    N)UUIDc                     t          | t          j        t          f          rt	          |           S t          | d          r|                                 S | S )N	isoformat)
isinstancedecimalDecimalr   strhasattrr   )objs    K/var/www/histauto/venv/lib/python3.11/site-packages/tablib/formats/_json.pyserialize_objects_handlerr   
   sK    #.// 3xx	k	"	" }}
    c                       e Zd ZdZdZed             Zed             Zed             Zed             Z	ed             Z
dS )	
JSONFormatjson)r   jsnc                 D    t          j        |j        t          d          S )z'Returns JSON representation of Dataset.Fdefaultensure_ascii)r   dumpsdictr   )clsdatasets     r   
export_setzJSONFormat.export_set   s'     zL";%
 
 
 	
r   c                 ^    t          j        |                                t          d          S )z(Returns JSON representation of Databook.Fr   )r   r   _packager   )r   databooks     r   export_bookzJSONFormat.export_book   s2     z)BQV
 
 
 	
r   c                 `    |                                  t          j        |          |_        dS )z!Returns dataset from JSON stream.N)wiper   loadr   )r   dset	in_streams      r   
import_setzJSONFormat.import_set%   s&     			Ii((			r   c                     |                                  t          j        |          D ]D}t          j                    }|d         |_        |d         |_        |                    |           EdS )z"Returns databook from JSON stream.titledataN)r!   r   r"   tablibDatasetr'   r   	add_sheet)r   dbookr$   sheetr(   s        r   import_bookzJSONFormat.import_book,   sl     	

Yy)) 	" 	"E>##DwDJfDIOOD!!!!		" 	"r   c                 `    	 t          j        |           dS # t          t          f$ r Y dS w xY w)z+Returns True if given stream is valid JSON.TF)r   r"   	TypeError
ValueError)r   streams     r   detectzJSONFormat.detect7   sC    	If4:& 	 	 	55	s    --N)__name__
__module____qualname__r'   
extensionsclassmethodr   r   r%   r.   r3    r   r   r   r      s        E J
 
 [
 
 
 [
 ) ) [) " " ["   [  r   r   )__doc__r   r   uuidr   r)   r   r   r9   r   r   <module>r<      s}               + + + + + + + + + +r   