
    Eg 9                        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        Zej                             dg d	          d
             Z!d Z"d Z#d Z$d Z%d Z&d Z'ej                             d e(d                    ej                             dej)        j*                  ej        +                    d          ej        ,                    e o e            o	 e            d          d                                                 Z-ej        ,                     e             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&d'e0g          d(                         Z1d) Z2d* Z3dS )+    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           	      >   t          t          j                            d                              d          t          t          d          t                    t          ddd          	          }d
}|| z  }|dv rEt          j
        t          |          5  t          ||           d d d            n# 1 swxY w Y   n<t          ||          5 }|j        j        |k    sJ 	 d d d            n# 1 swxY w Y   || z  }|dv r^t          j
        t          |          5  t          ||          5 }	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   n<t          ||          5 }|j        j        |k    sJ 	 d d d            n# 1 swxY w Y   || z  }|dv rdt          j
        t          |          5  |                    |d|           d d d            n# 1 swxY w Y   |                    |dd           n|                    |d|           |dv rJd}t          j
        t           |          5  t#          |d|           d d d            d S # 1 swxY w Y   d S t#          |d|          }t%          j        ||           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.)r	   nprandomdefault_rngstandard_normalr   listobjectr   pytestraisesOSErrorr
   _handler   to_hdf
ValueErrorr   tmassert_frame_equal)
setup_pathtmp_pathr   r-   msgpathstoreresults           `/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/io/pytables/test_file_handling.py	test_moderE   &   s   	
	a  0099d6ll&111r<<<
 
 
B
 "Cj D {]7#... 	& 	&T%%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& d&&& 	.%=%-----	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. j D {]7#... 	 	$T*** e              	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d&&& 	.%=%-----	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. j D {]7#... 	1 	1IId4I000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1
		$Ds	++++
		$Dt	,,, u}}/ 	 ]:S111 	, 	,T4d++++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, $4000
fb)))))s   B88B<?B<C55C9<C9$E6E8EE	EE	EE"E8FFFG,,G03G0	I))I-0I-c           	      p   t          t          j                            d                              d          t          t          d          t                    t          ddd          	          }| |z  }|	                    |d
d           t          |d
          }t          j        ||           d S )Nr   r   r   r    r"   r   r#   r$   r'   r-   r   r.   )r	   r0   r1   r2   r3   r   r4   r5   r   r:   r   r<   r=   )r?   r>   r-   rA   rC   s        rD   test_default_moderG   [   s    	
	a  0099d6ll&111r<<<
 
 
B
 j DIId3I'''dD!!F&"%%%%%    c                    | |z  }t          |d          }t          t          j        dt          j                  t          dd                    |d<   d}t          j        t          |	          5  |	                    d
           d d d            n# 1 swxY w Y   |
                                 |j        rJ |	                    d
           |j        sJ t          |          dk    sJ |
                                 |j        rJ t          |d          }t          t          j        dt          j                  t          dd                    |d<   |	                    d           |j        sJ t          |          dk    sJ |j        dk    sJ |
                                 |j        rJ |	                    d           |j        sJ t          |          dk    sJ |j        dk    sJ |
                                 |j        rJ |	                    d           |j        sJ t          |          dk    sJ |j        dk    sJ |
                                 |j        rJ 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   r0   arangefloat64r   r6   r7   r   opencloseis_openlen_mode)r?   r>   rA   rB   r@   s        rD   test_reopen_handlerS   h   s   j DT$$$E
	"BJ'''z,PR/S/S/S  E#J
	 
 
,C	8	8	8  

3               
KKMMM} 
JJsOOO=u::????	KKMMM}T$$$E
	"BJ'''z,PR/S/S/S  E#J
 
JJsOOO=u::????;#	KKMMM} 
JJsOOO=u::????;#	KKMMM} 
JJsOOO=u::????;#	KKMMM}s   5BBBc                    t          j        |           5 }t          dt          j        d                              d          z  t          t          d          t                    t          d t          d          D             t                              }t          |d	d
d          }||d<   |                    d|           t          j        |d         |           t          j        |d         |           |                                 d d d            n# 1 swxY w Y   t          j                            |          rJ d S )N皙?x      r   r   r    c                     g | ]}d | S zi- .0is     rD   
<listcomp>z"test_open_args.<locals>.<listcomp>   s    555aa555rH   rX   r'   r   	H5FD_COREr   )r   driverdriver_core_backing_storer-   df2)r<   ensure_cleanr	   r0   rL   reshaper   r4   r5   ranger
   appendr=   rO   osrA   exists)r>   rA   r-   rB   s       rD   test_open_argsrj      sl   		$	$ ")C..((111$v,,f55555599555VDDD
 
 
 s;!
 
 
 dUB
eDk2...
eElB///#              ( w~~d#######s   C?D  D$'D$c                     t          |           5 }t          t          d                    |d<   |                                 |                    d           d d d            d S # 1 swxY w Y   d S )N   r   T)fsync)r   r   rf   flush)r>   rB   s     rD   
test_flushro      s    	J	'	'  5E!HH%%c
$                                   s   A
A''A+.A+c           
         t          dt          j        d                              d          z  t	          t          d          t                    t	          d t          d          D             t                              }| |z  }|                    |d	d
           t          |d	          }t          j        ||           t          j        |d          5 }|                    dd          D ]&}|j        j        d
k    sJ |j        j        dk    sJ '	 d d d            n# 1 swxY w Y   | |z  }|                    |d	d           t          |d	          }t          j        ||           t          j        |d          5 }|                    dd          D ]"}|j        j        dk    sJ |j        j        J #	 d d d            n# 1 swxY w Y   | |z  }|                    |d	           t          |d	          }t          j        ||           t          j        |d          5 }|                    dd          D ]"}|j        j        dk    sJ |j        j        J #	 d d d            d S # 1 swxY w Y   d S )NrU   rV   rW   r   r    c                     g | ]}d | S rZ   r[   r\   s     rD   r_   z2test_complibs_default_settings.<locals>.<listcomp>       111!X!XX111rH   rX   r'   r-   	   )r/   	complevelr   r,   /dfLeafwhere	classnamezlib)r/   complibr   )r/   )r	   r0   rL   re   r   r4   r5   rf   r:   r   r<   r=   r   	open_file
walk_nodesfiltersrt   r{   )r?   r>   r-   tmpfilerC   h5filenodes          rD   test_complibs_default_settingsr      s~   	binn$$W---d6ll&11111uRyy111@@@
 
 
B #GIIg41I---gt$$F&"%%%		'	,	,	, 2%%EV%DD 	2 	2D<)Q....<'611111	22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 #GIIg4I000gt$$F&"%%%		'	,	,	, 0%%EV%DD 	0 	0D<)Q....<'////	00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 #GIIg4I   gt$$F&"%%%		'	,	,	, 0%%EV%DD 	0 	0D<)Q....<'////	00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s6   ?D++D/2D/;GGG8;JJJc           
         t          dt          j        d                              d          z  t	          t          d          t                    t	          d t          d          D             t                              }| |z  }t          |          }|	                    d	|d
d           |	                    d|           |
                                 t          j        |d          5 }|                    dd          D ]"}|j        j        dk    sJ |j        j        J #|                    dd          D ]&}|j        j        d
k    sJ |j        j        dk    sJ '	 d d d            d S # 1 swxY w Y   d S )NrU   rV   rW   r   r    c                     g | ]}d | S rZ   r[   r\   s     rD   r_   z;test_complibs_default_settings_override.<locals>.<listcomp>   rr   rH   rX   r'   dfcrs   blosc)rt   r{   r-   r   r,   ru   rv   rw   r   z/dfc)r	   r0   rL   re   r   r4   r5   rf   r
   rg   rO   r   r|   r}   r~   rt   r{   )r?   r>   r-   r   rB   r   r   s          rD   'test_complibs_default_settings_overrider      s   	binn$$W---d6ll&11111uRyy111@@@
 
 
B
 #GWE	LLaL999	LLr	KKMMM		'	,	,	, 3%%EV%DD 	0 	0D<)Q....<'////%%Ff%EE 	3 	3D<)Q....<'722222	3	3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s   4A9E;;E?E?lvlr   libz!ignore:object name is not a validzSegfaulting in a CI environmentreasonc                    t           rQt                      rC|dk    r=|dk    r7|                    t          j                            d| d                     t          t          j        d          t          d          t          j
        d                              t          j                  	          }t          j        d
          st          j        d           t          j        d          st          j        d           | | d| dz  }| d| }|                    ||||           t#          ||          }t%          j        ||           t          j        |d          5 }|                    d|z   d          D ];}	|	j        j        |k    sJ |dk    r|	j        j        J )|	j        j        |k    sJ <	 d d d            d S # 1 swxY w Y   d S )Nblosc2r   z
Fails for z on Linux and PY > 3.11r   rW   r   rX   r'   lzozlzo not availablebzip2zbzip2 not available_z.h5)r/   r{   rt   r   r,   /rv   rw   )r   r   applymarkerr6   markxfailr	   r0   onesr4   rL   astypestr_r   which_lib_versionskipr:   r   r<   r=   r|   r}   r~   rt   r{   )
r?   r   r   requestr-   r   gnamerC   h5tabler   s
             rD   test_complibsr      sK     
"$$ 
SAXXK%N#%N%N%NOO	
 	
 	
 

$v,,bimm6J6J276S6S
 
 
B
 #E** )'(((#G,, +)***C**#****GNNSNNE IIg5#I===gu%%F&"%%% 
	'	,	,	, 3&&S5[F&KK 	3 	3D<)S0000axx|+3333|+s22222	33 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s   /AGGGz$reason platform is not little endianc                    t          |           5 }t          dddt          d                    }t          j        |j        d<   t          j        |j        d<   t          |d           |                    d|d	
           t          j	        |d         |           |
                    dg          }|                    dt          dd	
                    }t          j	        ||           d d d            d S # 1 swxY w Y   d S )Nfoobar)Ar#   rl   rJ   )r   r   )   r#   r-   ascii)encodingr   )r(   z	columns=A)r   r	   rf   r0   nanlocr   rg   r<   r=   reindexselectr   )r>   rB   r-   expectedrC   s        rD   test_encodingr   ,  s4    
J	'	' 
05U//uQxx@@@vveT"""T2000
eDk2...::se:,,dDw$G$G$GHH
fh///
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0s   CC;;C?C?val)   E, 17rH      a   b   c)r   r   r   r   )s   EE, 17rH   r   r   r   )r      r   r   r   )rH   r   r   r   )r   r   r   r   )   ArH   r   r   r   rH   r   r   r   r!   categoryc                   
 d
d}d}
fd|D             }t          ||          }| |z  }|                    ||d
|           t          ||          }|dk    r-||j        j        v r|j                            |g          }	n#|}	n |                    |t          j                  }	t          j
        |	|           d S )	Nzlatin-1 datac                 h    g | ].}t          |t                    r|                              n|/S r[   )
isinstancebytesdecode)r]   xencs     rD   r_   z'test_latin_encoding.<locals>.<listcomp>Q  s6    
E
E
EAJq%007188C===a
E
E
ErH   r    table)r/   formatr   nan_repr   )r   r:   r   cat
categoriesremove_categoriesreplacer0   r   r<   assert_series_equal)r?   r>   r!   r   r   r/   serrB   retrs_nanr   s             @rD   test_latin_encodingr   =  s      CG
C
E
E
E
E
E
E
EC
E
"
"
"Cz!EJJu#gWJMMME3D 
cg(((G--wi88EEEEGRV,,5$'''''rH   c           
         | |z  }t          dt          j        d                              d          z  t	          t          d          t                    t	          d t          d          D             t                              }|                    |d	d
d           t          |          }d|
                                vsJ |j        sJ |                                 d|
                                v sJ |j        rJ | |z  }t          j        rit          |          }d}t          j        t"          |          5  t          |           d d d            n# 1 swxY w Y   |                                 nbt          |          }t          |          }d|
                                vsJ d|
                                vsJ |j        sJ |j        sJ |                                 d|
                                v sJ |j        rJ d|
                                vsJ |j        sJ |                                 d|
                                v sJ d|
                                v sJ |j        rJ |j        rJ t          |d
          }|                    d	|           t          |          }|                    d|           |                                 d|
                                v sJ |j        rJ |                                 d|
                                v sJ |j        rJ t          |d
          }|                    d	|           t          |          }|                                 d|
                                v sJ |j        rJ |                                 d|
                                v sJ |j        rJ | |z  }t          dt          j        d                              d          z  t	          t          d          t                    t	          d t          d          D             t                              }|                    |d	d
d           t          |          }|                                 d}t          j        t&          |          5  |                                 d d d            n# 1 swxY w Y   t          j        t&          |          5  d	|v  d d d            n# 1 swxY w Y   t          j        t&          |          5  t+          |           d d d            n# 1 swxY w Y   t          j        t&          |          5  |d	          d d d            n# 1 swxY w Y   t          j        t&          |          5  |                    d	           d d d            n# 1 swxY w Y   t          j        t&          |          5  |                    d	           d d d            n# 1 swxY w Y   t          j        t&          |          5  |                    d|           d d d            n# 1 swxY w Y   t          j        t&          |          5  |                    d|           d d d            n# 1 swxY w Y   t          j        t&          |          5  |                    d           d d d            n# 1 swxY w Y   t          j        t&          |          5  |                    d           d d d            n# 1 swxY w Y   t          j        t&          |          5  |                    d	           d d d            n# 1 swxY w Y   d}t          j        t6          |          5  |j         d d d            d S # 1 swxY w Y   d S )NrU   rV   rW   r   r    c                     g | ]}d | S rZ   r[   r\   s     rD   r_   z,test_multiple_open_close.<locals>.<listcomp>m  rr   rH   rX   r'   r-   r   r   )r/   r   r   CLOSEDzTThe file [\S]* is already opened\.  Please close it before reopening in write mode\.r*   r,   rc   c                     g | ]}d | S rZ   r[   r\   s     rD   r_   z,test_multiple_open_close.<locals>.<listcomp>  rr   rH   z[\S]* file is not open!df3z''HDFStore' object has no attribute 'df')r	   r0   rL   re   r   r4   r5   rf   r:   r
   inforP   rO   r   !_table_file_open_policy_is_strictr6   r7   r;   rg   r   keysrQ   r   getput
get_storerremoveAttributeErrorr-   )r?   r>   rA   r-   rB   store1r@   store2s           rD   test_multiple_open_closer   e  s
    j D	binn$$W---d6ll&11111uRyy111@@@
 
 
B
 IId3wI777 TNNE5::<<''''=	KKMMMuzz||####}j D1 :"$) 	 ]:S111 	 	TNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 $$v{{}},,,,v{{}},,,,~~6;;==((((>!!!v{{}},,,,~6;;==((((6;;==((((>!!!>!!! C(((T2$eR   6;;==((((>!!!5::<<''''=    C(((T2$5::<<''''=   6;;==((((>!!! j D	binn$$W---d6ll&11111uRyy111@@@
 
 
B
 IId3wI777TNNE	KKMMM
$C	c	2	2	2  

               
c	2	2	2                 
c	2	2	2  E


               
c	2	2	2  d               
c	2	2	2  T               
c	2	2	2  		$               
c	2	2	2    UB                              
c	2	2	2  		%               
c	2	2	2                                  
c	2	2	2  U               
c	2	2	2  T               4C	~S	1	1	1                   s   E##E'*E'
S++S/2S/T""T&)T&U$$U(+U(
	VV#&V#W''W+.W+X//X36X3Y88Y<?Y<[[['\		\\/]]]7^^ ^___c                      t          j        d          5 } t          |           5 }t          j        |          t          |           k    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nzfoo.h5)r<   rd   r
   rh   fspathstr)rA   rB   s     rD   test_fspathr     s    		"	" 1dd^^ 	1u9U##s4yy00000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1s4   A2(AA2A	A2!A	"A22A69A6)4rh   numpyr0   r6   pandas.compatr   r   r   r   pandas.errorsr   r   pandasr	   r
   r   r   r   r<   r   r   pandas.tests.io.pytables.commonr   r   r   	pandas.ior   pandas.io.pytablesr   r   
single_cpu
pytestmarkparametrizerE   rG   rS   rj   ro   r   r   rf   r~   all_complibsfilterwarningsskipifr   r   r   r5   r   r   r   r[   rH   rD   <module>r      s   				                       
                                 # # # # # #[#
 !6!6!6771* 1* 871*h
& 
& 
&5 5 5p$ $ $0     (0 (0 (0V3 3 3, b		** ;<<?@@I=##%%=*;*;*=*=,    3  3  A@ =< +* 3F !!###,R   0 0 0 	---(((***555'''---	dD!	rvsD$/
  :v"677( ( 87 (2D D DN1 1 1 1 1rH   