o
    e                     @   s&   d Z ddlZddlZG dd dZdS )z Tablib - YAML Support.
    Nc                   @   sP   e Zd ZdZdZedd Zedd Zedd Zed	d
 Z	edd Z
dS )
YAMLFormatyaml)r   ymlc                 C      t j|jdddddS )z'Returns YAML representation of Dataset.ForderedNTdefault_flow_styleallow_unicoder   	safe_dump_package)clsdataset r   G/var/www/html/venv/lib/python3.10/site-packages/tablib/formats/_yaml.py
export_set      zYAMLFormat.export_setc                 C   r   )z(Returns YAML representation of Databook.Fr   NTr   r   )r   databookr   r   r   export_book   r   zYAMLFormat.export_bookc                 C   s   |   t||_dS )z!Returns dataset from YAML stream.N)wiper   	safe_loaddict)r   dset	in_streamr   r   r   
import_set   s   zYAMLFormat.import_setc                 C   sB   |   t|D ]}t }|d |_|d |_|| q	dS )z"Returns databook from YAML stream.titledataN)r   r   r   tablibDatasetr   r   	add_sheet)r   dbookr   sheetr   r   r   r   import_book"   s   

zYAMLFormat.import_bookc              
   C   sN   zt |}t|tttfrW dS W dS  t jjt jj	t j
jfy&   Y dS w )z+Returns True if given stream is valid YAML.TF)r   r   
isinstancelisttupler   parserParserErrorreaderReaderErrorscannerScannerError)r   stream_yamlr   r   r   detect.   s   

zYAMLFormat.detectN)__name__
__module____qualname__r   
extensionsclassmethodr   r   r   r#   r/   r   r   r   r   r   	   s    



r   )__doc__r   r   r   r   r   r   r   <module>   s    