U
    [eR                     @   s`   d dl Z d dl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ZG dd deZdS )	    N)	constants)NamedContent)IReader)CSVFileReaderz
c                   @   s$   e Zd Zdd Zdd Zdd ZdS )
FileReaderc                 K   s  g | _ || _|tjkr"tj| jd< |tjt| _t	j
|}d|d tjtj|d f }t|}t|dkrt	j
|}t|d |g| _nd|d tjtj|d f }g }	|D ],}
t||
}|	|d|d|
f qg }t|	dd	 d
D ]\}}}
|t||
 q|| _dS )zpLoad content from a file
        :params str filename: an accessible file path
        :returns: a book
        dialectz
%s%s*%s*%sr      z%s%s(.*)%s(.*)%s   c                 S   s   | d S )Nr    )rowr   r   `/var/www/html/services/stratfitenv/lib/python3.8/site-packages/pyexcel_io/readers/csv_in_file.py<lambda>3       z%FileReader.__init__.<locals>.<lambda>)keyN)handleskeywordsr   ZFILE_FORMAT_TSVZKEYWORD_TSV_DIALECTgetZKEYWORD_LINE_TERMINATORDEFAULT_NEWLINEZ_FileReader__line_terminatorospathsplitextZDEFAULT_MULTI_CSV_SEPARATORgloblensplitr   content_arrayrematchappendgroupsorted)self	file_name	file_typer   namesZfilepatternfilelistZ
file_partsZmatcherZtmp_file_listZfilenresultretZ
lsheetnameindexr   r   r   __init__   sH    
 
 zFileReader.__init__c                 C   s$   t | j| f| j}| j| |S N)r   r   r   r   r   )r!   r(   readerr   r   r   
read_sheet8   s    zFileReader.read_sheetc                 C   s   | j D ]}|  qg | _ d S r*   )r   close)r!   r+   r   r   r   r-   =   s    

zFileReader.closeN)__name__
__module____qualname__r)   r,   r-   r   r   r   r   r      s   *r   )r   r   r   Z
pyexcel_ior   Zpyexcel_io.sheetr   Zpyexcel_io.plugin_apir   Zpyexcel_io.readers.csv_sheetr   r   r   r   r   r   r   <module>   s   