o
    QDi                     @  st   d dl mZ d dlmZmZmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ er0dd	lmZ G d
d deZdS )    )annotations)TYPE_CHECKINGAnyList   )errors)FrictionlessException)Parser   )InlineControl)TableResourcec                   @  s*   e Zd ZdZg dZdd Zd
ddZd	S )InlineParserzInline parser implementation.)arraybooleandatedatetimedurationgeojsongeopointintegernumberobjectstringtimeyear	yearmonthc                 #  s   | j jsJ t| j j}| j j}t|ds| }t|}zt| W n ty3   g E d H  Y d S w t drL j	V   j
V  |D ]  j
V  qCd S t trd|_|jp\t  }| j jrkdd | j jjD }|V   fdd|D V  |D ] t tstjdd}t| fd	d|D V  qzd S t ttfr V  |D ] t ttfstjdd}t| V  qd S tjdd}t|)
N__iter__cellsTc                 S  s   g | ]}|j qS  )name).0fieldr   r   [/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/formats/inline/parser.py
<listcomp>B   s    z8InlineParser.read_cell_stream_create.<locals>.<listcomp>c                      g | ]}  |qS r   getr    headeritemr   r"   r#   D       zunsupported inline data)notec                   r$   r   r%   r'   r)   r   r"   r#   I   r+   )resourcedatar   from_dialectdialecthasattriternextStopIterationfield_namesr   
isinstancedictkeyedkeyslistschemafieldsr   SourceErrorr   tuple)selfcontrolr.   headerserrorr   r)   r"   read_cell_stream_create$   sT   





z$InlineParser.read_cell_stream_createsourcer   c                 C  s   g }t | jj}|- | jjjr|js||jj |j	D ]}|jr'|
 n| }|| qW d    n1 s;w   Y  || j_d S )N)r   r/   r-   r0   r(   r8   appendr;   r5   
row_streamto_dictto_listr.   )r?   rD   r.   r@   rowr*   r   r   r"   write_row_stream[   s   
zInlineParser.write_row_streamN)rD   r   )__name__
__module____qualname____doc__supported_typesrC   rJ   r   r   r   r"   r      s
    7r   N)
__future__r   typingr   r   r    r   	exceptionr   systemr	   r@   r   	resourcesr   r   r   r   r   r"   <module>   s    