
    Owg 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:                  jA                  dg d	      d
        Z!d Z"d Z#d Z$d Z%d Z&d Z'ej:                  jA                  d e(d            ej:                  jA                  dejR                  jT                        ej:                  jW                  d      ej:                  jY                  e xr  e       xr  e       d      d                             Z-ej:                  jY                   e        d      d        Z.ej:                  jA                  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:                  jA                  d&d'e0g      d(               Z1d) Z2d* Z3y)+    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                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }d
}|| z  }|dv r2t        j                  t        |      5  t        ||       d d d        n2t        ||      5 }|j                  j                  |k(  sJ 	 d d d        || z  }|dv r<t        j                  t        |      5  t        ||      5 }	 d d d        d d d        n2t        ||      5 }|j                  j                  |k(  sJ 	 d d d        || z  }|dv rMt        j                  t        |      5  |j                  |d|       d d d        |j                  |dd       n|j                  |d|       |dv r5d}t        j                  t         |      5  t#        |d|       d d d        y t#        |d|      }t%        j&                  ||       y # 1 sw Y   IxY w# 1 sw Y   VxY w# 1 sw Y   'xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)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           b/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/io/pytables/test_file_handling.py	test_moderE   &   sA   	
		a 009d6l&1r<
B
 "Cj D {]]7#. 	&T%	& 	& d& 	.%==%%---	. j D {]]7#. 	$T* e	 	 d& 	.%==%%---	. j D {]]7#. 	1IId4I0	1
		$Ds	+
		$Dt	, u}/ 	 ]]:S1 	,T4d+	, 	, $40
fb)M	& 	&	. 	. 	 		. 	.	1 	1	, 	,s`   H)H2H4 H'H4 I )IIHH$'H1	,H44H= I
II"c           	      6   t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }| |z  }|j                  |d
d       t        |d
      }t        j                  ||       y )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d6l&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  |j                  d
       d d d        |j                          |j                  rJ |j                  d
       |j                  sJ t        |      dk(  sJ |j                          |j                  rJ t        |d      }t        t        j                  dt        j                        t        dd            |d<   |j                  d       |j                  sJ t        |      dk(  sJ |j                  dk(  sJ |j                          |j                  rJ |j                  d       |j                  sJ t        |      dk(  sJ |j                  dk(  sJ |j                          |j                  rJ |j                  d       |j                  sJ t        |      dk(  sJ |j                  dk(  sJ |j                          |j                  rJ y # 1 sw Y   xY w)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
		"BJJ'z,PR/SE#J
	 
 
,C	8 

3 
KKM}} 
JJsO===u:??	KKM}}T$E
		"BJJ'z,PR/SE#J
 
JJsO===u:??;;#	KKM}} 
JJsO===u:??;;#	KKM}} 
JJsO===u:??;;#	KKM}}}Q s   .II#c                 \   t        j                  |       5 }t        dt        j                  d      j                  d      z  t        t        d      t              t        t        d      D cg c]  }d| 	 c}t                    }t        |d	d
d      }||d<   |j                  d|       t        j                  |d   |       t        j                  |d   |       |j                          d d d        t        j                  j!                        rJ y c c}w # 1 sw Y   0xY w)N皙?x      r   r   r    rX   i-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   ir-   rB   s        rD   test_open_argsre      s    		$ "))C.((11$v,f5595a2aS5VD
 s;!
 dUB
eDk2.
eElB/#( ww~~d####! 6	 s   AD"-D9A:D"D""D+c                     t        |       5 }t        t        d            |d<   |j                          |j                  d       d d d        y # 1 sw Y   y xY w)N   r   T)fsync)r   r   r`   flush)r>   rB   s     rD   
test_flushrj      sJ    	J	'  5E!H%c
$     s   :AAc                 .   t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D cg c]  }d| 	 c}t                    }| |z  }|j                  |d	d
       t        |d	      }t        j                  ||       t        j                  |d      5 }|j                  dd      D ]8  }|j                  j                   d
k(  sJ |j                  j"                  dk(  r8J  	 d d d        | |z  }|j                  |d	d       t        |d	      }t        j                  ||       t        j                  |d      5 }|j                  dd      D ]5  }|j                  j                   dk(  sJ |j                  j"                  5J  	 d d d        | |z  }|j                  |d	       t        |d	      }t        j                  ||       t        j                  |d      5 }|j                  dd      D ]5  }|j                  j                   dk(  sJ |j                  j"                  5J  	 d d d        y c c}w # 1 sw Y   ]xY w# 1 sw Y   xY w# 1 sw Y   y xY w)NrU   rV   rW   r   r    rX   rY   r'   r-   	   )r/   	complevelr   r,   /dfLeafwhere	classnamezlib)r/   complibr   )r/   )r	   r0   rL   r_   r   r4   r5   r`   r:   r   r<   r=   r   	open_file
walk_nodesfiltersrm   rt   )r?   r>   rd   r-   tmpfilerC   h5filenodes           rD   test_complibs_default_settingsr{      si   	biin$$W--d6l&1uRy1!r!X1@
B #GIIg41I-gt$F&"%			'	, 2%%EV%D 	2D<<))Q...<<''6111	22 #GIIg4I0gt$F&"%			'	, 0%%EV%D 	0D<<))Q...<<''///	00 #GIIg4I gt$F&"%			'	, 0%%EV%D 	0D<<))Q...<<''///	00 0A 22 20 00 0s?   I-AI2I21AI?:I?AJ J2I<?JJc                    t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D cg c]  }d| 	 c}t                    }| |z  }t        |      }|j                  d	|d
d       |j                  d|       |j                          t        j                  |d      5 }|j                  dd      D ]5  }|j                  j                  dk(  sJ |j                  j                   5J  |j                  dd      D ]8  }|j                  j                  d
k(  sJ |j                  j                   dk(  r8J  	 d d d        y c c}w # 1 sw Y   y xY w)NrU   rV   rW   r   r    rX   rY   r'   dfcrl   blosc)rm   rt   r-   r   r,   rn   ro   rp   r   z/dfc)r	   r0   rL   r_   r   r4   r5   r`   r
   ra   rO   r   ru   rv   rw   rm   rt   )r?   r>   rd   r-   rx   rB   ry   rz   s           rD   'test_complibs_default_settings_overrider      sd   	biin$$W--d6l&1uRy1!r!X1@
B
 #GWE	LLaL9	LLr	KKM			'	, 3%%EV%D 	0D<<))Q...<<''///	0 %%Ff%E 	3D<<))Q...<<''7222	3	3 3 23 3s    E7AE<AE<*E<<Flvlr   libz!ignore:object name is not a validzSegfaulting in a CI environmentreasonc                    t         rGt               r=|dk(  r8|dk7  r3|j                  t        j                  j                  d| d             t        t        j                  d      t        d      t        j                  d      j                  t        j                        	      }t        j                  d
      st        j                  d       t        j                  d      st        j                  d       | | d| dz  }| d| }|j!                  ||||       t#        ||      }t%        j&                  ||       t        j(                  |d      5 }|j+                  d|z   d      D ]V  }	|	j,                  j.                  |k(  sJ |dk(  r|	j,                  j0                  :J |	j,                  j0                  |k(  rVJ  	 d d d        y # 1 sw Y   y xY w)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/   rt   rm   r   r,   /ro   rp   )r   r   applymarkerr6   markxfailr	   r0   onesr4   rL   astypestr_r   which_lib_versionskipr:   r   r<   r=   ru   rv   rw   rm   rt   )
r?   r   r   requestr-   rx   gnamerC   h5tablerz   s
             rD   test_complibsr      s    "$SAXKKz#6M%NO	
 

$v,biim6J6J2776S
B
 ##E*'(##G,)*C5#c**Ge1SENE IIg5#I=gu%F&"% 
		'	, 3&&S5[F&K 	3D<<))S000ax||++333||++s222	33 3 3s   AG-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       |j                  d|d	
       t        j                  |d   |       |j                  dg      }|j                  dt        dd	
            }t        j                  ||       d d d        y # 1 sw Y   y xY w)Nfoobar)Ar#   rg   rJ   )r   r   )   r#   r-   ascii)encodingr   )r(   z	columns=A)r   r	   r`   r0   nanlocr   ra   r<   r=   reindexselectr   )r>   rB   r-   expectedrC   s        rD   test_encodingr   ,  s     
J	' 
05U/uQx@vveT"T20
eDk2.::se:,dDw$GH
fh/
0 
0 
0s   CC((C1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}|D cg c]%  }t        |t              r|j                  |      n|' }}t        ||      }| |z  }	|j	                  |	|d||       t        |	|      }
|dk(  r8||j                  j                  v r|j                  j                  |g      }n#|}n |j                  |t        j                        }t        j                  ||
       y c c}w )Nzlatin-1 datar    table)r/   formatr   nan_repr   )
isinstancebytesdecoder   r:   r   cat
categoriesremove_categoriesreplacer0   r   r<   assert_series_equal)r?   r>   r!   r   encr   r/   xserrB   retrs_nans               rD   test_latin_encodingr   =  s      CG
CAD
EAJq%0188C=a7
EC
E
E
"Cz!EJJu#gWJME3D 
cgg(((GG--wi8EEGRVV,5$'# Fs   *Cc                 p   | |z  }t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D cg c]  }d| 	 c}t                    }|j                  |d	d
d       t        |      }d|j                         vsJ |j                  sJ |j                          d|j                         v sJ |j                  rJ | |z  }t        j                  rNt        |      }d}t        j                   t"        |      5  t        |       d d d        |j                          n0t        |      }t        |      }d|j                         vsJ d|j                         vsJ |j                  sJ |j                  sJ |j                          d|j                         v sJ |j                  rJ d|j                         vsJ |j                  sJ |j                          d|j                         v sJ d|j                         v sJ |j                  rJ |j                  rJ t        |d
      }|j%                  d	|       t        |      }|j%                  d|       |j                          d|j                         v sJ |j                  rJ |j                          d|j                         v sJ |j                  rJ t        |d
      }|j%                  d	|       t        |      }|j                          d|j                         v sJ |j                  rJ |j                          d|j                         v sJ |j                  rJ | |z  }t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D cg c]  }d| 	 c}t                    }|j                  |d	d
d       t        |      }|j                          d}t        j                   t&        |      5  |j)                          d d d        t        j                   t&        |      5  d	|v  d d d        t        j                   t&        |      5  t+        |       d d d        t        j                   t&        |      5  |d	    d d d        t        j                   t&        |      5  |j-                  d	       d d d        t        j                   t&        |      5  |j/                  d	       d d d        t        j                   t&        |      5  |j%                  d|       d d d        t        j                   t&        |      5  |j1                  d|       d d d        t        j                   t&        |      5  |j3                  d       d d d        t        j                   t&        |      5  |j5                  d       d d d        t        j                   t&        |      5  |j-                  d	       d d d        d}t        j                   t6        |      5  |j8                   d d d        y c c}w # 1 sw Y   XxY wc c}w # 1 sw Y   IxY w# 1 sw Y   .xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   wxY w# 1 sw Y   NxY w# 1 sw Y   &xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)NrU   rV   rW   r   r    rX   rY   r'   r-   r   r   )r/   r   r   CLOSEDzTThe file [\S]* is already opened\.  Please close it before reopening in write mode\.r*   r,   r]   z[\S]* file is not open!df3z''HDFStore' object has no attribute 'df')r	   r0   rL   r_   r   r4   r5   r`   r:   r
   inforP   rO   r   !_table_file_open_policy_is_strictr6   r7   r;   ra   r   keysrQ   r   getput
get_storerremoveAttributeErrorr-   )	r?   r>   rA   rd   r-   rB   store1r@   store2s	            rD   test_multiple_open_closer   e  s    j D	biin$$W--d6l&1uRy1!r!X1@
B
 IId3wI7 TNE5::<'''===	KKMuzz|###}}j D11$) 	 ]]:S1 	TN	 	 $$v{{},,,v{{},,,~~~~~~6;;=(((>>!!v{{},,,~~~6;;=(((6;;=(((>>!!>>!! C(T2$eR 6;;=(((>>!!5::<'''==   C(T2$5::<'''==  6;;=(((>>!! j D	biin$$W--d6l&1uRy1!r!X1@
B
 IId3wI7TNE	KKM
$C	c	2 

 
c	2  
c	2 E
 
c	2 d 
c	2 T 
c	2 		$ 
c	2  UB  
c	2 		% 
c	2    
c	2 U 
c	2 T 4C	~S	1  w 2,	 	v 2                s   Z+ZZZ;Z,#Z9[;[0[ %[-[:\\;\ 2\,ZZ),Z69[[[ [*-[7:\\\ \),\5c                      t        j                  d      5 } t        |       5 }t        j                  |      t        |       k(  sJ 	 d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nzfoo.h5)r<   r^   r
   rb   fspathstr)rA   rB   s     rD   test_fspathr     sc    		" 1dd^ 	1u99U#s4y000	11 1	1 	11 1s"   A$$AA$A!	A$$A-)4rb   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   re   rj   r{   r   r`   rw   all_complibsfilterwarningsskipifr   r   r   r5   r   r   r    rH   rD   <module>r      s   	   
     #[[##
 !671* 81*h
&5p$0 (0V3, b	* ; ;<?@I=#%=*;*=,   3 A = + 3F !##,R  00 	-(*5'-	dD!	rvvsD$/
 :v"67( 8(2DN1rH   