o
    QDij                     @  st   d dl mZ d dlZddlmZ ddlmZ ddlmZ ddlm	Z	mZ dd	l
mZ d
dlmZ G dd de	ZdS )    )annotationsN   )types)platform)TableResource)Parsersystem   )InlineControl   )JsonControlc                   @  s0   e Zd ZdZdZg dZdddZdd
dZdS )JsonlParserzJSONL parser implementation.T)arraybooleangeojsonintegernumberobjectstringyearreturntypes.ICellStreamc                 c  s    t | jj}ttj| jj	}t
|jd}t|d|d!}t|jV  t
|j}|jr2d|_|jE d H  W d    d S 1 sCw   Y  d S )N)keysinline)dataformatcontrolT)r   from_dialectresourcedialectiterr   	jsonlinesReaderloadertext_streamr
   r   r   nextcell_streamkeyed)selfr   sourceinline_controlr    r+   `/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/formats/json/parsers/jsonl.pyread_cell_stream_create   s   "z#JsonlParser.read_cell_stream_creater)   r   c           	   	   C  s   t | jj}tjddM}tj|}|5 | jjj	r&|j
s&||jj |jD ]}|jdd}|j
r<tt|j|n|}|| q)W d    n1 sNw   Y  W d    n1 s]w   Y  t| j}||j d S )NF)deleteT)json)r   r   r   r   tempfileNamedTemporaryFiler   r!   Writerheaderr'   writeschemafield_names
row_streamto_listdictzipr   create_loaderwrite_byte_streamname)	r(   r)   r   filewriterrowcellsitemr#   r+   r+   r,   write_row_stream-   s    
	zJsonlParser.write_row_streamN)r   r   )r)   r   )__name__
__module____qualname____doc__requires_loadersupported_typesr-   rC   r+   r+   r+   r,   r      s    
r   )
__future__r   r0    r   r   	resourcesr   r   r   r   r
   r   r   r   r+   r+   r+   r,   <module>   s    