o
    %j<                     @   s  d dl Z d dlZd dlZd dlmZmZmZmZ d dl	m
Z
mZ d dlmZmZmZmZmZmZmZ d dlmZmZmZ d dlmZ d dlmZ ejjgZej dg d	d
d Z!dd Z"dd Z#dd Z$dd Z%dd Z&dd Z'ej de(dej dej)j*ej+dejj,e oe oe dddd Z-ejj,e  d dd!d" Z.ej d#g d$g d%g d&g d'g d(g d)g d*ej/d+d,d-gd.ej/d+d,d-gg	ej d/d0dgd1d2 Z0d3d4 Z1d5d6 Z2dS )7    N)PY311is_ci_environmentis_platform_linuxis_platform_little_endian)ClosedFileErrorPossibleDataLossError)	DataFrameHDFStoreIndexSeries_testing
date_rangeread_hdf)_maybe_removeensure_clean_storetables)pytables)Termmode)rr+awc           	   	   C   sZ  t tjddttdtdtddddd	}d
}||  }|dv rAt	j
t|d t||d W d    n1 s;w   Y  nt||d}|jj|ksPJ W d    n1 sZw   Y  ||  }|dv rt	j
t|d t||d}W d    n1 sw   Y  W d    n1 sw   Y  nt||d}|jj|ksJ W d    n1 sw   Y  ||  }|dv rt	j
t|d |j|d|d W d    n1 sw   Y  |j|ddd n|j|d|d |dv rd}t	j
t|d t|d|d W d    d S 1 sw   Y  d S t|d|d}|r%|jd|_t|| d S )N   
      ABCDdtype
2000-01-01r   Bperiodsfreqcolumnsindexz[\S]* does not exist)r   r   matchr   dfkeyr   r   )r   zNmode w is not allowed while performing a read. Allowed modes are r, r\+ and a.str)r   nprandomdefault_rngstandard_normalr
   listobjectr   pytestraisesOSErrorr	   _handler   to_hdf
ValueErrorr   r&   astypetmassert_frame_equal)	
setup_pathtmp_pathr   using_infer_stringr+   msgpathstoreresult rE   l/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/pandas/tests/io/pytables/test_file_handling.py	test_mode&   sX   
$rG   c                 C   s~   t tjddttdtdtddddd	}| | }|j	|d
dd t
|d
}| }|r7|jd|_t|| d S )Nr   r   r   r   r    r   r!   r"   r%   r+   r   r,   r.   )r   r/   r0   r1   r2   r
   r3   r4   r   r9   r   copyr&   r;   r<   r=   )r?   r>   r@   r+   rB   rD   expectedrE   rE   rF   test_default_mode]   s   
rJ   c                 C   s  | | }t |dd}ttjdtjdtdddd|d< d}tjt|d	 |	d
 W d    n1 s5w   Y  |
  |jrCJ |	d
 |jsMJ t|dksUJ |
  |jr^J t |dd}ttjdtjdtdddd|d< |	d |jsJ t|dksJ |jdksJ |
  |jrJ |	d |jsJ t|dksJ |jdksJ |
  |jrJ |	d |jsJ t|dksJ |jdksJ |
  |jrJ d S )Nr   r*   r   r   z
2020-01-01)r#   r'   zKRe-opening the file \[[\S]*\] with mode \[a\] will delete the current file!r(   r   r   r      )r	   r   r/   arangeZfloat64r   r5   r6   r   opencloseis_openlen_mode)r?   r>   rB   rC   rA   rE   rE   rF   test_reopen_handlem   sN   













rS   c                 C   s   t | b}tdtdd ttdtdtdd t	dD tdd	}t
|d
ddd}||d< |d| | }|rL|jd|_|jd|_t |d | t |d | |  W d    n1 sjw   Y  tj|rwJ d S )N皙?x      r   r   r   c                 S      g | ]}d | qS zi-rE   .0irE   rE   rF   
<listcomp>       z"test_open_args.<locals>.<listcomp>rW   r%   r   Z	H5FD_COREr   )r   ZdriverZdriver_core_backing_storer+   df2r.   )r<   ensure_cleanr   r/   rM   reshaper
   r3   r4   ranger	   appendrH   r'   r;   r&   r=   rO   osrB   exists)r>   r@   rB   r+   rC   rI   rE   rE   rF   test_open_args   s(   
rf   c                 C   sR   t | }ttd|d< |  |jdd W d    d S 1 s"w   Y  d S )N   r   T)fsync)r   r   rb   flush)r>   rC   rE   rE   rF   
test_flush   s
   
"rj   c           	      C   st  t dtdd ttdtdtdd tdD tdd	}| | }|j|d
dd t	|d
}|
 }|rE|jd|_|jd|_t|| tj|dd"}|jdddD ]}|jjdksdJ |jjdkslJ qZW d    n1 sww   Y  | | }|j|d
dd t	|d
}|
 }|r|jd|_|jd|_t|| tj|dd"}|jdddD ]}|jjdksJ |jjd u sJ qW d    n1 sw   Y  | | }|j|d
d t	|d
}|
 }|r|jd|_|jd|_t|| tj|dd&}|jdddD ]}|jjdksJ |jjd u s%J qW d    d S 1 s3w   Y  d S )NrT   rU   rV   r   r   c                 S   rX   rY   rE   rZ   rE   rE   rF   r]      r^   z2test_complibs_default_settings.<locals>.<listcomp>rW   r%   r+   	   )r-   	complevelr.   r   r*   /dfLeafwhere	classnamezlib)r-   complibr   )r-   )r   r/   rM   ra   r
   r3   r4   rb   r9   r   rH   r'   r;   r&   r<   r=   r   	open_file
walk_nodesfiltersrl   rs   )	r?   r>   r@   r+   tmpfilerD   rI   h5filenoderE   rE   rF   test_complibs_default_settings   s^   


$rz   c                 C   s  t dtdd ttdtdtdd tdD tdd	}| | }t|}|j	d
|ddd |	d| |
  tj|dd=}|jdddD ]}|jjdksTJ |jjd u s\J qJ|jdddD ]}|jjdksnJ |jjdksvJ qdW d    d S 1 sw   Y  d S )NrT   rU   rV   r   r   c                 S   rX   rY   rE   rZ   rE   rE   rF   r]     r^   z;test_complibs_default_settings_override.<locals>.<listcomp>rW   r%   Zdfcrk   Zblosc)rl   rs   r+   r   r*   rm   rn   ro   r   z/dfc)r   r/   rM   ra   r
   r3   r4   rb   r	   rc   rO   r   rt   ru   rv   rl   rs   )r?   r>   r+   rw   rC   rx   ry   rE   rE   rF   'test_complibs_default_settings_override   s&   "r{   lvlr   libz!ignore:object name is not a validzSegfaulting in a CI environmentreasonc           
      C   sT  t rt r|dkr|dkr|tjjd| dd ttdt	dt
dtjd	}td
s8td tdsBtd | | d| d }| d| }|j||||d t||}t|| tj|dd2}|jd| ddD ]}	|	jj|ksJ |dkr|	jjd u sJ qx|	jj|ksJ qxW d    d S 1 sw   Y  d S )NZblosc2r   z
Fails for z on Linux and PY > 3.11r~   rV   r   rW   r%   Zlzozlzo not availablebzip2zbzip2 not available_z.h5)r-   rs   rl   r   r*   /rn   ro   )r   r   Zapplymarkerr5   markZxfailr   r/   Zonesr3   rM   r;   Zstr_r   Zwhich_lib_versionskipr9   r   r<   r=   rt   ru   rv   rl   rs   )
r?   r|   r}   requestr+   rw   gnamerD   Zh5tablery   rE   rE   rF   test_complibs  s0   




"r   z$reason platform is not little endianc                 C   s   t | L}tdddtdd}tj|jd< tj|jd< t|d |jd|d	d
 t	|d | |j
dgd}|dtdd	d
}t	|| W d    d S 1 sSw   Y  d S )NZfoobar)Ar!   rg   rK   )r   r   )   r!   r+   ascii)encodingr   )r&   z	columns=A)r   r   rb   r/   nanlocr   rc   r<   r=   Zreindexselectr   )r>   rC   r+   rI   rD   rE   rE   rF   test_encodingB  s   

"r   val)   E, 17       a   b   c)r   r   r   r   )s   EE, 17r   r   r   r   )r      r   r   r   )r   r   r   r   )r   r   r   r   )   Ar   r   r   r   r   r   r   r   r   categoryc           
         s   d d}d} fdd|D }t ||d}| | }|j||d |d t||}|d	kr=||jjv r:|j|g}	n
|}	n||tj}	t	
|	| d S )
Nzlatin-1 datac                    s$   g | ]}t |tr| n|qS rE   )
isinstancebytesdecode)r[   xencrE   rF   r]   g  s   $ z'test_latin_encoding.<locals>.<listcomp>r   table)r-   formatr   nan_repr   )r   r9   r   cat
categoriesZremove_categoriesreplacer/   r   r<   Zassert_series_equal)
r?   r>   r   r   r   r-   ZserrC   ZretrZs_nanrE   r   rF   test_latin_encodingS  s   
r   c                 C   s  | | }t dtdd ttdtdtdd tdD tdd	}|j|d
ddd t	|}d|
 vs9J |js>J |  d|
 v sJJ |jrOJ | | }tjr|t	|}d}tjt|d t	| W d    n1 srw   Y  |  nt	|}t	|}d|
 vsJ d|
 vsJ |jsJ |jsJ |  d|
 v sJ |jrJ d|
 vsJ |jsJ |  d|
 v sJ d|
 v sJ |jrJ |jrJ t	|dd}|d
| t	|}|d| |  d|
 v sJ |jrJ |  d|
 v sJ |jrJ t	|dd}|d
| t	|}|  d|
 v s2J |jr8J |  d|
 v sEJ |jrKJ | | }t dtdd ttdtdtdd tdD tdd	}|j|d
ddd t	|}|  d}tjt|d |  W d    n	1 sw   Y  tjt|d d
|v  W d    n	1 sw   Y  tjt|d t| W d    n	1 sw   Y  tjt|d |d
  W d    n	1 sw   Y  tjt|d |d
 W d    n	1 s
w   Y  tjt|d |d
 W d    n	1 s'w   Y  tjt|d |d| W d    n	1 sEw   Y  tjt|d |d| W d    n	1 scw   Y  tjt|d |d W d    n	1 sw   Y  tjt|d |d W d    n	1 sw   Y  tjt|d |d
 W d    n	1 sw   Y  d}tjt|d |j W d    d S 1 sw   Y  d S )NrT   rU   rV   r   r   c                 S   rX   rY   rE   rZ   rE   rE   rF   r]     r^   z,test_multiple_open_close.<locals>.<listcomp>rW   r%   r+   r   r   )r-   r   r   ZCLOSEDzTThe file [\S]* is already opened\.  Please close it before reopening in write mode\.r(   r*   r_   c                 S   rX   rY   rE   rZ   rE   rE   rF   r]     r^   z[\S]* file is not open!Zdf3z''HDFStore' object has no attribute 'df')r   r/   rM   ra   r
   r3   r4   rb   r9   r	   inforP   rO   r   Z!_table_file_open_policy_is_strictr5   r6   r:   rc   r   keysrQ   r   getputZ
get_storerremoveAttributeErrorr+   )r?   r>   rB   r+   rC   Zstore1rA   Zstore2rE   rE   rF   test_multiple_open_close{  s   













$r   c               	   C   s~   t d0} t| }t|t| ksJ W d    n1 s w   Y  W d    d S W d    d S 1 s8w   Y  d S )Nzfoo.h5)r<   r`   r	   rd   fspathr.   )rB   rC   rE   rE   rF   test_fspath  s   
"r   )3rd   numpyr/   r5   Zpandas.compatr   r   r   r   Zpandas.errorsr   r   Zpandasr   r	   r
   r   r   r<   r   r   Zpandas.tests.io.pytables.commonr   r   r   Z	pandas.ior   Zpandas.io.pytablesr   r   Z
single_cpuZ
pytestmarkZparametrizerG   rJ   rS   rf   rj   rz   r{   rb   rv   Zall_complibsfilterwarningsZskipifr   r   r   r   r   r   rE   rE   rE   rF   <module>   s`    $	

687
#
 