
    EfT                     h    d dl mZ d dlmZ d dlmZ d Z G d de          Z G d de          Z	d	S )
    )SheetReader)NEW_READERS)OrderedDictc                 Z    i }i }g d}| D ]}||v r| |         ||<   | |         ||<   ||fS )N)		start_row	row_limitstart_columncolumn_limitskip_column_funcskip_row_funcskip_empty_rowsrow_rendererkeep_trailing_empty_cells )keywordssheet_keywordsnative_sheet_keywords	args_listargs        S/var/www/ffwdstore.be/apps/py-env/lib/python3.11/site-packages/pyexcel_io/reader.pyclean_keywordsr      si    N
 
 
I  7 7)"*3-N3)1#!#&&000    c                   R    e Zd ZddZd Zd Zd Zd Zd Zd Z	d	 Z
d
 Zd Zd ZdS )ReaderNc                 >    || _         || _        d | _        d | _        d S N)	file_typelibraryr   reader_class)selfr   r   s      r   __init__zReader.__init__   s'    " !r   c                     | j         &t          j        | j        d| j                  | _         t          |          \  | _        } | j         || j        fi || _        | j        S )Nfilelocationr   )r   r   get_a_pluginr   r   r   r   reader)r    	file_namer   r   s       r   openzReader.open)   s{    $ + 8! ! !D 0>h/G/G,,'d't~
 
)>
 
 {r   c                     t          |          \  | _        }| j        &t          j        | j        d| j                  | _         | j        || j        fi || _        | j        S )Ncontentr$   r   r   r   r   r&   r   r   r'   )r    file_contentr   r   s       r   open_contentzReader.open_content4   s{    /=h/G/G,,$ + 8DL! ! !D (d'$.
 
,A
 
 {r   c                     t          |          \  | _        }| j        &t          j        | j        d| j                  | _         | j        || j        fi || _        | j        S )Nmemoryr$   r,   )r    file_streamr   r   s       r   open_streamzReader.open_stream?   s{    /=h/G/G,,$ + 84<! ! !D (d'
 
+@
 
 {r   c                     | j                                         }|                    |          }|                     |          S )z;
        read a named sheet from a excel data book
        )r'   sheet_namesindexread_sheet_by_index)r    
sheet_namer4   r5   s       r   read_sheet_by_namezReader.read_sheet_by_nameJ   s>     k--//!!*--''...r   c                     | j                             |          }| j                                         }t          |fi | j        }||         |                                iS r   )r'   
read_sheetr4   EncapsulatedSheetReaderr   to_array)r    sheet_indexsheet_readerr4   sheets        r   r6   zReader.read_sheet_by_indexS   s[    {--k::k--//'FFFFK(%..*:*:;;r   c                     t                      }t          t          | j                            D ],}|                     |          }|                    |           -|S z8
        read everything from a excel data book
        )r   rangelenr'   r6   update)r    resultr=   content_dicts       r   read_allzReader.read_allY   s[      T[!1!122 	( 	(K33K@@LMM,''''r   c                     t                      }|D ]h}t          |t                    r)|                    |                     |                     @|                    |                     |                     i|S rA   )r   
isinstanceintrD   r6   r8   )r    sheetsrE   r?   s       r   	read_manyzReader.read_manyc   sy      	> 	>E%%% >d66u==>>>>d55e<<====r   c                 4    | j                                         S r   )r'   closer    s    r   rN   zReader.closeo   s    {  """r   c                     | S r   r   rO   s    r   	__enter__zReader.__enter__r   s    r   c                 .    |                                   d S r   )rN   )r    a_typevalue	tracebacks       r   __exit__zReader.__exit__u   s    

r   r   )__name__
__module____qualname__r!   r)   r.   r2   r8   r6   rG   rL   rN   rQ   rV   r   r   r   r   r      s        
! 
! 
! 
!	 	 		 	 		 	 	/ / /< < <  
 
 
# # #      r   r   c                       e Zd Zd Zd ZdS )r;   c              #   H   K   | j                                         E d {V  d S r   )_native_sheetrow_iteratorrO   s    r   r]   z$EncapsulatedSheetReader.row_iteratorz   s3      %2244444444444r   c              #   J   K   | j                             |          E d {V  d S r   )r\   column_iterator)r    rows     r   r_   z'EncapsulatedSheetReader.column_iterator}   s5      %55c:::::::::::r   N)rW   rX   rY   r]   r_   r   r   r   r;   r;   y   s2        5 5 5; ; ; ; ;r   r;   N)
pyexcel_io.sheetr   pyexcel_io.pluginsr   pyexcel_io._compactr   r   objectr   r;   r   r   r   <module>re      s    ( ( ( ( ( ( * * * * * * + + + + + +1 1 1,Z Z Z Z ZV Z Z Zz; ; ; ; ;k ; ; ; ; ;r   