
    i:                        d dl Z d dlZd dlZd dlZd dl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 d dlmZ  ej2                  d      Zej6                  j8                  gZej6                  j=                  dg d	      d
        Zd Z d Z!d Z"d Z#d Z$d Z%ej6                  j=                  d e&d            ej6                  j=                  dejN                  jP                        ej6                  jS                  d      d                      Z*ej6                  jW                   e        d      d        Z,ej6                  j=                  dg dg dg dg dg dg dg d ejZ                  d!d"d#gd$ejZ                  d!d"d#gg	      ej6                  j=                  d%d&dg      d'               Z.d( Z/d) Z0y)*    N)is_platform_linuxis_platform_little_endianis_platform_mac)ClosedFileErrorPossibleDataLossError)	DataFrameHDFStoreIndexSeries_testing
date_rangeread_hdf)pytables)Termtablesmode)rr+awc           	          t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }d
}t        j                          d}|dv r2t        j                  t        |      5  t        ||       d d d        n2t        | |      5 }|j                  j                   |k(  sJ 	 d d d        |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        |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|      }|r |j(                  j+                  d      |_        t-        j.                  ||       y # 1 sw Y   axY w# 1 sw Y   nxY w# 1 sw Y   Dx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.h5)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   uuiduuid4pytestraisesOSErrorr	   _handler   to_hdf
ValueErrorr   r%   astypetmassert_frame_equal)temp_h5_pathr   using_infer_stringr+   msgdoesnt_existstoreresults           h/app/cer_product_mecsu/.venv/lib/python3.12/site-packages/pandas/tests/io/pytables/test_file_handling.py	test_moderG   "   sJ   	
		a 009d6l&1r<
B
 "Cjjl^3'L {]]7#. 	.\-	. 	. l. 	.%==%%---	. {]]7#. 	,T2 e	 	 l. 	.%==%%---	. {]]7#. 	9IIl4I8	9
		,Ds	3
		,Dt	4 u}/ 	 ]]:S1 	4\4d3	4 	4 ,48**51BJ
fb)I	. 	.	. 	. 	 		. 	.
	9 	9	4 	4s`   H7;I?III-I+1I8J7III	II(+I58JJc           	         t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }|j                  | d
d       t        | d
      }|j                         }|r |j                  j                  d      |_        t        j                  ||       y )Nr   r   r   r   r   r   r    r!   r$   r+   r   r,   r.   )r   r/   r0   r1   r2   r
   r3   r4   r   r;   r   copyr%   r=   r>   r?   )r@   rA   r+   rE   expecteds        rF   test_default_moderK   U   s    	
		a 009d6l&1r<
B
 IIl3I/lD)FwwyH#++2259&(+    c                    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   r/   arangefloat64r   r7   r8   r   opencloseis_openlen_mode)r@   rD   rB   s      rF   test_reopen_handlerW   d   s   \,E
		"BJJ'z,PR/SE#J
	 
 
,C	8 

3 
KKM}} 
JJsO===u:??	KKM}}\,E
		"BJJ'z,PR/SE#J
 
JJsO===u:??;;#	KKM}} 
JJsO===u:??;;#	KKM}} 
JJsO===u:??;;#	KKM}}}Q s   )IIc                    t        j                          d}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|       |j                         }| r@|j                  j                  d      |_        |j                  j                  d      |_        t!        j"                  |d   |       t!        j"                  |d   |       |j%                          t&        j(                  j+                  |      rJ y c c}w )Nr'   皙?x      r   r   r   r\   i-r$   r   	H5FD_COREr   )r   driverdriver_core_backing_storer+   df2r.   )r5   r6   r   r/   rP   reshaper
   r3   r4   ranger	   appendrI   r&   r=   r%   r>   r?   rS   ospathexists)rA   not_writtenir+   rD   rJ   s         rF   test_open_argsrj      s"   ZZ\N#&K	biin$$W--d6l&1uRy1!r!X1@
B #kQE E$K	LLwwyH!..u5#++2259%+x0%,1	KKM ww~~k****+ 2s   .E(c                     t        | d      5 }t        t        d            |d<   |j                          |j                  d       d d d        y # 1 sw Y   y xY w)Nr   r*      r   T)fsync)r	   r   rc   flushr@   rD   s     rF   
test_flushrp      sL    	,S	)  U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                    }|j                  | d	d
       t        | d	      }|j                         }|r@|j                  j                  d      |_        |j                  j                  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        |j                  | d	d       t        | d	      }|j                         }|r@|j                  j                  d      |_        |j                  j                  d      |_        t        j                  ||       t         j#                  | d      5 }|j%                  dd      D ]5  }|j&                  j(                  dk(  sJ |j&                  j*                  5J  	 d d d        |j                  | d	       t        | d	      }|j                         }|r@|j                  j                  d      |_        |j                  j                  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)NrY   rZ   r[   r   r   r\   r]   r$   r+   	   )r-   	complevelr.   r   r*   /dfLeafwhere	classnamezlib)r-   complibr   )r-   )r   r/   rP   rb   r
   r3   r4   rc   r;   r   rI   r&   r=   r%   r>   r?   r   	open_file
walk_nodesfiltersrs   rz   )r@   rA   ri   r+   rE   rJ   h5filenodes           rF   test_complibs_default_settingsr      s   	biin$$W--d6l&1uRy1!r!X1@
B IIlI2lD)FwwyH!..u5#++2259&(+			,S		1 2V%%EV%D 	2D<<))Q...<<''6111	22 IIlfI5lD)FwwyH!..u5#++2259&(+			,S		1 0V%%EV%D 	0D<<))Q...<<''///	00 IIlI%lD)FwwyH!..u5#++2259&(+			,S		1 0V%%EV%D 	0D<<))Q...<<''///	00 0S 22 20 00 0s?   MAM MAM&M&>AM3M3M#&M03M<c                    t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D cg c]  }d| 	 c}t                    }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)NrY   rZ   r[   r   r   r\   r]   r$   dfcrr   blosc)rs   rz   r+   r   r*   rt   ru   rv   r   z/dfc)r   r/   rP   rb   r
   r3   r4   rc   r	   rd   rS   r   r{   r|   r}   rs   rz   )r@   ri   r+   rD   r~   r   s         rF   'test_complibs_default_settings_overrider      s]   	biin$$W--d6l&1uRy1!r!X1@
B
 \"E	LLaL9	LLr	KKM			,S		1 3V%%EV%D 	0D<<))Q...<<''///	0 %%Ff%E 	3D<<))Q...<<''7222	3	3 3 23 3s    E2AE7AE7%E77F lvlr   libz!ignore:object name is not a validc                 "   t               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'               }t        j)                  |d      5 }	|	j+                  d|z   d      D ]  }
|
j,                  j.                  |k(  sJ |dk(  r|
j,                  j0                  :J |r)|dk(  r$|
j,                  j0                  }||dfv r`J |       |
j,                  j0                  |k(  rJ  	 d d d        y # 1 sw Y   y xY w)Nblosc2r   z
Fails for z	 on Linuxreasonr[   r   r\   r$   lzozlzo not availablebzip2zbzip2 not available_r'   )r-   rz   rs   r   r*   /ru   rv   zblosc2:blosclz)r   applymarkerr7   markxfailr   r/   onesr3   rP   r=   str_r   which_lib_versionskipr;   r   r>   r?   r   r{   r|   r}   rs   rz   )tmp_pathr   r   requestr+   tmpfilegnamerE   is_mach5tabler   ress               rF   test_complibsr     s   
 sh3!8FKK--z#i5P-QR	
$v,biim6J6J2776S
B
 ##E*'(##G,)*C5#c**Ge1SENE IIg5#I=gu%F&"%F 
		'		, 	3&&S5[F&K 	3D<<))S000ax||++333C8Oll**s$455:s:5||++s222	3	3 	3 	3s    AH1%H H8HHz$reason platform is not little endianr   c                    t        dddt        d            }t        j                  |j                  d<   t        j                  |j                  d<   | j                  d|d	
       t        j                  | d   |       |j                  dg      }| j                  dt        dd	
            }t        j                  ||       y )Nfoobar)Ar    rl   rN   )r   r   )   r    r+   ascii)encodingr   )r%   z	columns=A)r   rc   r/   nanlocrd   r>   r?   reindexselectr   )temp_hdfstorer+   rJ   rE   s       rF   test_encodingr   0  s     
U+58	<BVVBFF6NVVBFF6NrG4--r2zz3%z(H!!$[7(KLF&(+rL   val)   E, 17rL      a   b   c)r   r   r   r   )s   EE, 17rL   r   r   r   )r      r   r   r   )rL   r   r   r   )r   r   r   r   )   ArL   r   r   r   rL   r   r   r   r   categoryc                    d}d}d}|D cg c]%  }t        |t              r|j                  |      n|' }}t        ||      }|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replacer/   r   r>   assert_series_equal)
r@   r   r   encr   r-   xserretrs_nans
             rF   test_latin_encodingr   ?  s      CG
CAD
EAJq%0188C=a7
EC
E
E
"CJJ|WsGJTL#&D 
cgg(((GG--wi8EEGRVV,5$'! Fs   *Cc                 R   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 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 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   Sx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)NrY   rZ   r[   r   r   r\   r]   r$   r+   r   r   )r-   r   r   CLOSEDzTThe file [\S]* is already opened\.  Please close it before reopening in write mode\.r(   r*   ra   z[\S]* file is not open!df3z''HDFStore' object has no attribute 'df')r   r/   rP   rb   r
   r3   r4   rc   r;   r	   inforT   rS   r   !_table_file_open_policy_is_strictr7   r8   r<   rd   r   keysrU   r   getput
get_storerremoveAttributeErrorr+   )r@   ri   r+   rD   store1rB   store2s          rF   test_multiple_open_closer   f  s    
biin$$W--d6l&1uRy1!r!X1@
B
 IIl3wI? \"E5::<'''===	KKMuzz|###}}11,') 	 ]]:S1 	#\"	# 	 ,','v{{},,,v{{},,,~~~~~~6;;=(((>>!!v{{},,,~~~6;;=(((6;;=(((>>!!>>!! C0T2,'eR 6;;=(((>>!!5::<'''==   C0T2,'5::<'''==  6;;=(((>>!! 
biin$$W--d6l&1uRy1!r!X1@
B
 IIl3wI?\"E	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  o 2(	# 	#r 2                s   Y9!Y>Z8Z,ZZ*Z7,[![[[+[87\,\#\>ZZZ'*Z47[[[[(+[58\\\\&c                     t        |       5 }t        j                  |      t        |       k(  sJ 	 d d d        y # 1 sw Y   y xY w)N)r	   re   fspathr.   ro   s     rF   test_fspathr     s=    	,	 55yy3|#44445 5 5s	   $:A)1re   r5   numpyr/   r7   pandas.compatr   r   r   pandas.errorsr   r   pandasr   r	   r
   r   r   r>   r   r   	pandas.ior   pandas.io.pytablesr   importorskipr   r   
single_cpu
pytestmarkparametrizerG   rK   rW   rj   rp   r   r   rc   r}   all_complibsfilterwarningsr   skipifr   r   r   r   r    rL   rF   <module>r      s   	    

    #			X	&kk$$%
 !67/* 8/*d,3l+: 10h3* b	* ; ;<?@#3 A = +#3L !##,R  	,	, 	-(*5'-	dD!	rvvsD$/
 :t"45( 6(0~B5rL   