U
    ®[Öeº  ã                   @   sˆ   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
„ d
eƒZG dd„ deƒZd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                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )Ú
FileReaderc                 K   st   g | _ zHt |d¡| _dd„ | j ¡ D ƒ}|| _ || _|tjkrLtj| jd< W n  tjk
rn   t	dƒ ‚ Y nX d S )NÚrc                 S   s   g | ]}t t|ƒ|ƒ‘qS © )r   Ú_get_sheet_name)Ú.0Únamer
   r
   úY/var/www/html/services/stratfitenv/lib/python3.8/site-packages/pyexcel_io/readers/csvz.pyÚ
<listcomp>   s   ÿz'FileReader.__init__.<locals>.<listcomp>Údialectz+StringIO instance was passed by any chance?)
Úcontent_arrayÚzipfileÚZipFileÚnamelistÚkeywordsr   ZFILE_FORMAT_TSVZZKEYWORD_TSV_DIALECTÚ
BadZipfileÚprint)ÚselfZfile_alike_objectÚ	file_typer   Zsheetsr
   r
   r   Ú__init__   s    þ
zFileReader.__init__c                 C   s   | j r| j  ¡  d S ©N)r   Úclose)r   r
   r
   r   r   '   s    zFileReader.closec                 C   sP   | j | j}| j | j | j¡}t |¡}t| |d ¡ƒ}t	t
||ƒf| jŽS )NÚencoding)r   r   r   ÚreadÚpayloadÚchardetÚdetectr   Údecoder   r   r   )r   Úindexr   ÚcontentZencoding_guessZsheetr
   r
   r   Ú
read_sheet+   s
    
zFileReader.read_sheetN)Ú__name__Ú
__module__Ú__qualname__r   r   r%   r
   r
   r
   r   r      s   r   c                       s   e Zd Z‡ fdd„Z‡  ZS )ÚContentReaderc                    s   t |ƒ}tƒ j||f|Ž d S r   )r   Úsuperr   )r   Zfile_contentr   r   Úio©Ú	__class__r
   r   r   5   s    zContentReader.__init__)r&   r'   r(   r   Ú__classcell__r
   r
   r,   r   r)   4   s   r)   c                 C   s$   d}d}t | ƒ| | }| d |… S )Né   é   )Úlen)ÚfilenameZlen_of_a_dotZlen_of_csv_wordZname_lenr
   r
   r   r   :   s    r   )Ú__doc__r   r+   r   r    Z
pyexcel_ior   Zpyexcel_io.sheetr   Zpyexcel_io._compactr   Zpyexcel_io.readers.csv_sheetr   Z%pyexcel_io.plugin_api.abstract_readerr   r   r)   r   r
   r
   r
   r   Ú<module>   s   	