U
    [e$                     @   sH   d Z ddlZddlmZ ddlmZ G dd deZG dd deZdS )z
    pyexcel_io.writers.csv_sheet
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    The lower level csv file format writer

    :copyright: (c) 2014-2022 by Onni Software Ltd.
    :license: New BSD License, see LICENSE for more details
    N)ISheetWriterc                   @   s2   e Zd ZdZdddZdd Zd	d
 Zdd ZdS )CSVFileWriterz
    csv file writer

    utf-8FNc                 K   sn   || _ || _| jd ks|r"tj| _|| _tj| _|| _tj|krN|	tj| _|| _
d | _|| _|  | _d S N)	_encoding_sheet_name	constantsDEFAULT_SHEET_NAME_single_sheet_in_bookZDEFAULT_CSV_NEWLINEZ_CSVFileWriter__line_terminator	_keywordsZKEYWORD_LINE_TERMINATORget_sheet_indexfile_handle_native_book
get_writerwriter)selffilenamenameencodingZsingle_sheet_in_bookZsheet_indexkeywords r   ^/var/www/html/services/stratfitenv/lib/python3.8/site-packages/pyexcel_io/writers/csv_sheet.py__init__   s    	
zCSVFileWriter.__init__c                 C   sj   | j tjkr>| jd}d|d tj| j tj| j|d f }n| j}t|dd| jd| _	t
j| j	f| jS )N.z%s%s%s%s%s.%sr      w )newliner   )r   r   r	   r   splitZDEFAULT_MULTI_CSV_SEPARATORr   openr   r   csvr   r   )r   names	file_namer   r   r   r   0   s$    	   zCSVFileWriter.get_writerc                 C   s   | j | dS )z+
        write a row into the file
        N)r   writerow)r   arrayr   r   r   	write_rowC   s    zCSVFileWriter.write_rowc                 C   s   | j   d S r   )r   closer   r   r   r   r'   I   s    zCSVFileWriter.close)r   FN)__name__
__module____qualname____doc__r   r   r&   r'   r   r   r   r   r      s   	   
r   c                   @   s    e Zd ZdZdd Zdd ZdS )CSVMemoryWriterzWrite csv to a memory streamc                 C   s<   | j | _tj| jf| j}| js8|tj| j	df g |S Nr   )
r   r   r!   r   r   r
   r$   r   Z!DEFAULT_CSV_STREAM_FILE_FORMATTERr   )r   r   r   r   r   r   P   s    zCSVMemoryWriter.get_writerc                 C   s    | j rn| jtjd g d S r.   )r
   r   r$   r   ZSEPARATOR_FORMATTERr(   r   r   r   r'   \   s    zCSVMemoryWriter.closeN)r)   r*   r+   r,   r   r'   r   r   r   r   r-   M   s   r-   )r,   r!   Zpyexcel_io.constantsr   Zpyexcel_io.plugin_apir   r   r-   r   r   r   r   <module>   s
   	=