U
    sVc
                     @   s   d dl 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 edZedZejdZdgZejed	d
d Zdd Zdd Zdd Zejdddddgdd ZdS )    N)import_optional_dependency)	ExcelFile)inspect_excel_formatxlrdxlwtz@ignore:As the xlwt package is no longer maintained:FutureWarningz.xls)paramsc                 C   s   | j S )z
    Valid extensions for reading Excel files with xlrd.

    Similar to read_ext, but excludes .ods, .xlsb, and for xlrd>2 .xlsx, .xlsm
    )param)request r
   C/tmp/pip-unpacked-wheel-xj8nt62q/pandas/tests/io/excel/test_xlrd.pyread_ext_xlrd   s    r   c           	      C   s   |}d}d}t | z}||| t|L}t||d"}tj||dd}t || W 5 Q R X tj|||dd}W 5 Q R X t || W 5 Q R X d S )Nr   ZSheetAenginer   )
sheet_name	index_col)r   r   r   )	tmZensure_cleanZto_excelr   Zopen_workbookr   pd
read_excelZassert_frame_equal)	r   frameZdfr   r   pthZbookZxlresultr
   r
   r   test_read_xlrd_book"   s        r   c              	   C   sv   | dddd}t dddd k	}|sLtjtdd	d
 t|d d W 5 Q R X n&td  tj|dd d W 5 Q R X d S )Niodataexcel
test1.xlsxopenpyxlignoreerrorsFz'The xlrd engine is no longer maintained)Zraise_on_extra_warningsmatchr   Sheet1)r   r   assert_produces_warningFutureWarningr   r   r   datapathpathZhas_openpyxlr
   r
   r   &test_excel_file_warning_with_xlsx_file5   s    r'   c              	   C   sx   | dddd}t dddd k	}|sNtjtdd	 tj|d
d d W 5 Q R X n&td  tj|d
d d W 5 Q R X d S )Nr   r   r   r   r   r   r   zYour version of xlrd is )r    r!   r   )r   pytestZraises
ValueErrorr   r   r   r"   r$   r
   r
   r   &test_read_excel_warning_with_xlsx_fileE   s    r*   file_headers   	    s   	    s   	    s   ࡱc                 C   s   t | }t|dkstd S )NZxls)r   BytesIOr   AssertionError)r+   fr
   r
   r   test_read_old_xls_filesT   s    
r/   )r   r(   Zpandas.compat._optionalr   Zpandasr   Zpandas._testingZ_testingr   Zpandas.io.excelr   Zpandas.io.excel._baser   Zimportorskipr   r   markfilterwarningsZ
pytestmarkextsZfixturer   r   r'   r*   Zparametrizer/   r
   r
   r
   r   <module>   s4   



		