U
    [e                     @   s   d Z ddlmZ ddlmZmZ ddlmZ eeddZeeddZ	e	dd	 Z
e	d
d Zed"ddZed#ddZed$ddZedd Zeeddd%ddZeeddd&ddZeeddd'ddZeeddd d! ZdS )(z
    pyexcel.deprecated
    ~~~~~~~~~~~~~~~~~~~

    List of apis that become deprecated but was kept for backward compatibility

    :copyright: (c) 2015-2022 by Onni Software Ltd.
    :license: New BSD License
    )partial)get_book	get_sheet)
deprecatedz6Deprecated since v0.1.5! Please use get_sheet instead.)messagez5Deprecated since v0.1.5! Please use get_book instead.c                 K   s   t f d| i|S )z|Load content from physical file

    :param str file_name: the file name
    :param any keywords: additional parameters
    	file_namer   r   keywords r   T/var/www/html/services/stratfitenv/lib/python3.8/site-packages/pyexcel/deprecated.py	load_book   s    r   c                 K   s   t f | |d|S )zLoad content from memory content

    :param tuple the_tuple: first element should be file extension,
    second element should be file content
    :param any keywords: additional parameters
    )	file_typefile_contentr   )r   r   r
   r   r   r   load_book_from_memory"   s    r   Nc                 K   sB   t | tr*tf | d | d |d|}ntf | |d|}|S )a  Constructs an instance :class:`Sheet` from a sheet of an excel file

    except csv, most excel files has more than one sheet.
    Hence sheetname is required here to indicate from which sheet the instance
    should be constructed. If this parameter is omitted, the first sheet, which
    is indexed at 0, is used. For csv, sheetname is always omitted because csv
    file contains always one sheet.
    :param str sheetname: which sheet to be used for construction
    :param int name_colmns_by_row: which row to give column names
    :param int name_rows_by_column: which column to give row names
    :param dict keywords: other parameters
    r      r   r   
sheet_namer   r   
isinstancetupler   )r   	sheetnamer
   Zsheetr   r   r   load-   s    
 r   c                 K   s   t f | ||d|S )aD  Constructs an instance :class:`Sheet` from memory

    :param str file_type: one value of these: 'csv', 'tsv', 'csvz',
    'tsvz', 'xls', 'xlsm', 'xslm', 'ods'
    :param iostream file_content: file content
    :param str sheetname: which sheet to be used for construction
    :param dict keywords: any other parameters
    r   r   )r   r   r   r
   r   r   r   load_from_memoryI   s    
r   Tc                 K   s   t f | |d|S )zReturn a sheet from a dictionary of one dimensional arrays

    :param dict the_dict: its value should be one dimensional array
    :param bool with_keys: indicate if dictionary keys should be
                           appended or not
    )adict	with_keysr   )Zthe_dictr   r
   r   r   r   load_from_dict[   s    r   c                 K   s   t f d| i|S )a  Return a sheet from a list of records

    Sheet.to_records() would produce a list of dictionaries. All dictionaries
    share the same keys.
    :params list records: records are likely to be produced by
                          Sheet.to_records() method.
    recordsr   )r   r
   r   r   r   load_from_recordsf   s    	r    z7Deprecated since v0.0.7! Please use class Sheet insteadc                 K   s@   t | tr(tf | d | d |d|S tf | |d|S dS )a+  
    A single sheet excel file reader

    Default is the sheet at index 0. Or you specify one using sheet index
    or sheet name. The short coming of this reader is: column filter is
    applied first then row filter is applied next

    use as class would fail though
    changed since 0.0.7
    r   r   r   r   Nr   )r   r   r
   r   r   r   Readerr   s    
r!   zVDeprecated since v0.0.7! Please use class Sheet(..., name_columns_by_row=0,..) insteadc                 K   sB   t | tr(tf | d | d |d|S t| f||d|S dS )zA single sheet excel file reader and it has column headers in a selected row

    use as class would fail
    changed since 0.0.7
    r   r   )r   r   name_columns_by_row)r   r"   Nr   r   r   r   r   r   Zseriesr
   r   r   r   SeriesReader   s     
r%   z<Please use class Sheet(..., name_rows_by_column=0..) insteadc                 K   sB   t | tr(tf | d | d |d|S t| f||d|S dS )zA single sheet excel file reader and it has row headers in a selected column

    use as class would fail
    changed since 0.0.7
    r   r   )r   r   name_rows_by_column)r   r&   Nr#   r$   r   r   r   ColumnSeriesReader   s     

r'   z6Deprecated since v0.0.7! Please use class Book insteadc                 K   s   t | f|S )zFor backward compatibility)r   r	   r   r   r   
BookReader   s    r(   )N)N)T)NN)NNr   )NNr   )__doc__	functoolsr   Zpyexcel.corer   r   Zpyexcel._compactr   ZDEPRECATED_LOADERZDEPRECATED_BOOK_LOADERr   r   r   r   r   r    r!   r%   r'   r(   r   r   r   r   <module>   sV   	 
	



