U
    ÎZj  ã                   @   s�   d dl mZ d dlZd dlZd dlZd dlmZ e d¡Zdej	_
dej	_dej	_dd„ Zdd	„ Zd
d„ Zeddd„ƒZedd„ ƒZdd„ ZdS )é    )ÚcontextmanagerN)ÚHDFStoreÚtablesé   c                 C   s0   | d k	r,zt  | ¡ W n tk
r*   Y nX d S ©N)ÚosÚremoveÚOSError©Úpath© r   úb/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/pandas/tests/io/pytables/common.pyÚsafe_remove   s
    r   c                 C   s.   z| d k	r|   ¡  W n tk
r(   Y nX d S r   )Úcloser	   )Ústorer   r   r   Ú
safe_close   s
    r   c                 C   s   t j t ¡ | ¡S )z'create an unopened named temporary file)r   r   ÚjoinÚtempfileÚ
gettempdirr
   r   r   r   Úcreate_tempfile    s    r   ÚaFc                 c   s\   z4ttj | ¡ƒst| ƒ} t| |||dd�}|V  W 5 t |ƒ |dksN|dkrVt| ƒ X d S )NÚwr   F)ÚmodeÚ	complevelÚcomplibÚ
fletcher32)r   r   Úlenr   r   Údirnamer   r   )r   r   r   r   r   r   r   r   r   Úensure_clean_store&   s        ÿ
r   c              	   c   sR   z8t| tƒr"dd„ | D ƒ}|V  nt| ƒg}|d V  W 5 |D ]}t |ƒ q>X dS )z¢
    return essentially a named temporary file that is not opened
    and deleted on exiting; if path is a list, then create and
    return list of filenames
    c                 S   s   g | ]}t |ƒ‘qS r   )r   )Ú.0Úpr   r   r   Ú
<listcomp>B   s     z%ensure_clean_path.<locals>.<listcomp>r   N)r   Ú
isinstanceÚlistr   )r   Ú	filenamesÚfr   r   r   Úensure_clean_path9   s    

r&   c              	   C   s,   z|   |¡ W n ttfk
r&   Y nX dS )zŠ
    For tests using tables, try removing the table to be sure there is
    no content from previous tests using the same table name.
    N)r   Ú
ValueErrorÚKeyError)r   Úkeyr   r   r   Ú_maybe_removeL   s    r*   )r   NNF)Ú
contextlibr   r   r   ZpytestZpandas.io.pytablesr   Zimportorskipr   Ú
parametersZMAX_NUMEXPR_THREADSZMAX_BLOSC_THREADSZMAX_THREADSr   r   r   r   r&   r*   r   r   r   r   Ú<module>   s    

