
    ?wg                     ,    d Z ddlZddlZ G d d      Zy)z Tablib - YAML Support.
    Nc                   d    e Zd ZdZdZed        Zed        Zed        Zed        Z	ed        Z
y)	
YAMLFormatyaml)r   ymlc                 N    t        j                  |j                         dd      S )z'Returns YAML representation of Dataset.NTdefault_flow_styleallow_unicoder   	safe_dump_package)clsdatasets     K/var/www/horilla/myenv/lib/python3.12/site-packages/tablib/formats/_yaml.py
export_setzYAMLFormat.export_set   s%     ~~4t
 	
    c                 N    t        j                  |j                         dd      S )z(Returns YAML representation of Databook.NTr   r   )r   databooks     r   export_bookzYAMLFormat.export_book   s%     ~~D
 	
r   c                 X    |j                          t        j                  |      |_        y)z!Returns dataset from YAML stream.N)wiper   	safe_loaddict)r   dset	in_streams      r   
import_setzYAMLFormat.import_set   s     			NN9-	r   c                     |j                          t        j                  |      D ];  }t        j                         }|d   |_        |d   |_        |j                  |       = y)z"Returns databook from YAML stream.titledataN)r   r   r   tablibDatasetr   r   	add_sheet)r   dbookr   sheetr   s        r   import_bookzYAMLFormat.import_book"   sS     	

^^I. 	"E>>#DwDJfDIOOD!		"r   c                    	 t        j                  |      }t        |t        t        t
        f      ryy# t         j                  j                  t         j                  j                  t         j                  j                  f$ r Y yw xY w)z+Returns True if given stream is valid YAML.TF)r   r   
isinstancelisttupler   parserParserErrorreaderReaderErrorscannerScannerError)r   stream_yamls      r   detectzYAMLFormat.detect.   sf    	NN6*E%$t!45'')@)@))+ 		s   04 ABBN)__name__
__module____qualname__r   
extensionsclassmethodr   r   r   r%   r2    r   r   r   r   	   sn    E J
 
 
 
 . . 	" 	" 
 
r   r   )__doc__r   r    r   r8   r   r   <module>r:      s     0 0r   