
    Ef                         d Z ddlZ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 ddlmZ  G d	 d
e          Z G d de          Zd ZdS )z
    pyexcel_io.fileformat.csvz
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~

    The lower level csvz file format handler.

    :copyright: (c) 2014-2022 by Onni Software Ltd.
    :license: New BSD License, see LICENSE for more details
    N)BytesIO)	constants)NamedContent)StringIO)CSVinMemoryReader)IReaderc                        e Zd Zd Zd Zd ZdS )
FileReaderc                 >   g | _         	 t          j        |d          | _        d | j                                        D             }|| _         || _        |t
          j        k    rt
          j        | j        d<   d S d S # t          j        $ r t          d            w xY w)Nrc                 H    g | ]}t          t          |          |           S  )r   _get_sheet_name).0names     Y/var/www/ffwdstore.be/apps/py-env/lib/python3.11/site-packages/pyexcel_io/readers/csvz.py
<listcomp>z'FileReader.__init__.<locals>.<listcomp>   s:        _T22D99      dialectz+StringIO instance was passed by any chance?)
content_arrayzipfileZipFilenamelistkeywordsr   FILE_FORMAT_TSVZKEYWORD_TSV_DIALECT
BadZipfileprint)selffile_alike_object	file_typer   sheetss        r   __init__zFileReader.__init__   s    	"?+<cBBDL  L1133  F "(D$DMI666+4+Hi((( 76 ! 	 	 	?@@@	s   A/A< < Bc                 J    | j         r| j                                          d S d S N)r   close)r   s    r   r&   zFileReader.close'   s0    < 	!L     	! 	!r   c                 2   | j         |         j        }| j                            | j         |         j                  }t          j        |          }t          |                    |d                             }t          t          ||          fi | j        S )Nencoding)r   r   r   readpayloadchardetdetectr   decoder   r   r   )r   indexr   contentencoding_guesssheets         r   
read_sheetzFileReader.read_sheet+   s    !%(-,##D$6u$=$EFF 00z(BCCDD dE!:!:LLdmLLLr   N)__name__
__module____qualname__r#   r&   r2   r   r   r   r
   r
      sF          "! ! !M M M M Mr   r
   c                        e Zd Z fdZ xZS )ContentReaderc                 \    t          |          } t                      j        ||fi | d S r%   )r   superr#   )r   file_contentr!   r   io	__class__s        r   r#   zContentReader.__init__5   s7    \""Y33(33333r   )r3   r4   r5   r#   __classcell__)r<   s   @r   r7   r7   4   s8        4 4 4 4 4 4 4 4 4r   r7   c                 H    d}d}t          |           |z
  |z
  }| d |         S )N      )len)filenamelen_of_a_dotlen_of_csv_wordname_lens       r   r   r   :   s0    LO8}}|+o=HIXIr   )__doc__r   r;   r   r+   
pyexcel_ior   pyexcel_io.sheetr   pyexcel_io._compactr   pyexcel_io.readers.csv_sheetr   %pyexcel_io.plugin_api.abstract_readerr   r
   r7   r   r   r   r   <module>rL      s                        ) ) ) ) ) ) ( ( ( ( ( ( : : : : : : 9 9 9 9 9 9M M M M M M M M>4 4 4 4 4J 4 4 4    r   