
    .i'                        d dl mZ d dlZd dlZd dlZd dlmZ d dlZ	d dlm
Z
mZmZmZmZmZmZ d dlmZ ej(                  j*                  gZd Zd Zd Zd	 Zd
 Zej(                  j9                   e       d      d        Zd Zd Zd Z d Z!d Z"d Z#d Z$ej(                  jK                  dddg      d        Z&d Z'd Z(y)    )closingN)is_platform_windows)	DataFrameHDFStoreIndexSeries_testing
date_rangeread_hdf)TableIteratorc                    t        t        d      t        d      d      }|j                  | d       t        j                  t
        d      5  t        | d       d d d        |j                  | d       y # 1 sw Y   xY w)N   abk1key 'No object named k2 in the file'matchk2)r   rangeto_hdfpytestraisesKeyErrorr   temp_h5_pathdfs     `/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/io/pytables/test_read.py!test_read_missing_key_close_storer"      si    	qa1	2BIIlI%	x'I	J %t$%
 IIlI%% %s   A88Bc                     t        g g dg       }|j                  | d       t        j                  t        d      5  t        | dd       d d d        |j                  | d       y # 1 sw Y   xY w)	NAB)indexr   r   zlist index out of ranger   r   stop)r   r   r   r   
IndexErrorr   r   s     r!   !test_read_index_error_close_storer+   &   se    	"%R	0BIIlI%	z)C	D -t!,-
 IIlI%- -s   A**A3c                 <   t        t        d      t        d      d      }|j                  | d       t        | d      5 }t	        j
                  t        d      5  t        |d       d d d        t        |d       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)	Nr   r   r   r   rr   r   r   )r   r   r   r   r   r   r   r   )r   r    stores      r!   "test_read_missing_key_opened_storer/   3   s    	qa1	2BIIlI%	,	$ ]]8+MN 	"UD!	"
 	 	" 	" s$    BB)BB	BBc           	      X
   t        t        j                  j                  d      j	                  d      t        t        d            t        ddd            }t        j                  t        d	
      5  | j                  dd       d d d        | j                  d|       t        j                  t        t        j                  d      
      5  | j                  dd       d d d        t        j                  d      }t        j                  t        |
      5  | j                  dddg       d d d        | j                  dd      }t!        j"                  |j$                  t'        |j(                        j$                         t+        |t&              sJ t        j                  d      }t        j                  t,        |
      5  | j                  dd       d d d        |j/                         }d|d<   | j                  d|dg       | j                  dd      }t!        j"                  |j$                  |d   j$                         |j/                         }d|d<   t        j0                  |j2                  |j(                  dd df<   | j                  d|dg       | j                  dd      }t!        j"                  |j$                  |d   j$                         | j                  ddd      }t!        j"                  |j$                  |d   j$                  dd         | j                  ddd      }t!        j"                  |j$                  |d   j$                  dd         | j                  ddd      }t!        j"                  |j$                  |d   j$                  d d        | j                  ddd      }t!        j"                  |j$                  |d   j$                  d d        | j                  dddd      }t!        j"                  |j$                  |d   j$                  dd        | j                  dddd      }t!        j"                  |j$                  |d   j$                  dd        t        t        j                  j                  d      j	                  d      dd      }| j                  d|d        |d   }| j                  dd      }t!        j4                  ||       y # 1 sw Y   sxY w# 1 sw Y   %xY w# 1 sw Y   xY w# 1 sw Y   ExY w)!Nr   )
      ABCDz
2000-01-01r1   r&   )periodsfreq)columnsr'   zNo object named df in the filer   r    r'   z%'column [foo] not found in the table'fooz:select_column() got an unexpected keyword argument 'where'zindex>5)wherezScolumn [values_block_0] can not be extracted individually; it is not data indexablevalues_block_0stringdf2)data_columnsr2      df3)startr(   )r?   r)   r$   df4T)r   nprandomdefault_rngstandard_normalr   listr
   r   r   r   select_columnappendreescape	TypeErrortmassert_almost_equalvaluesr   r'   
isinstance
ValueErrorcopynanlocassert_series_equal)temp_hdfstorer    msgresultr;   r>   rA   expecteds           r!   test_read_columnrY   A   sa   	
		a 009d6l#r<
B 
x'G	H 3##D'23 r"			"IJ
 1 	##D%01
 ))P
QC	y	, F##D')#EF ((w7F6==&*:*A*ABff%%% ))	#C 
z	- <##D*:;< '')CCM8*=((9F6==#h-*>*>? '')CCM(*CGGCIIaNH$%8*=((9F6==#h-*>*>? (((BF6==#h-*>*>qr*BC(((CF6==#h-*>*>rs*CD((q(AF6==#h-*>*>r*BC((r(BF6==#h-*>*>s*CD(((KF6==#h-*>*>q*DE(((KF6==#h-*>*>r!*DE "))//2BB2FUS
TC$73xH((4F68,E3 3
1 1F F< <s0   4S8TT	T8TTTT)c                     t         | ddd      d      5 }|d   }d d d        t        t              sJ y # 1 sw Y   xY w)Niodatazlegacy_hdf/pytables_native.h5r-   modezdetector/readout)r   rO   r   )datapathr.   d2s      r!   test_pytables_native_readra      sN    	v>?c
 '	%&' b)$$$	' 's	   7A z#native2 read fails oddly on windows)reasonc                     t         | dddd      d      5 }t        |       |d   }d d d        t        t              sJ y # 1 sw Y   xY w)Nr[   r\   
legacy_hdfzpytables_native2.h5r-   r]   detector)r   strrO   r   )r_   r.   d1s      r!   test_pytables_native2_readrh      sV    	v|-BC#
 	E
:	
 b)$$$ s   AAc                    t        t        j                  j                  d      j                  d      t	        d      t	        d            }d|j
                  _        |j                  dd	      }|j                  | d
d       t        | d
      }t        | d      5 }t        |d
      }t        j                  ||       |j                  sJ 	 d d d        y # 1 sw Y   y xY w)Nr   r2      abcdABCDEr'   r6   lettersETkeysrH   r    wr   r^   r-   r]   )r   rB   rC   rD   rF   r'   name	set_indexr   r   r   rL   assert_frame_equalis_open)r   using_infer_stringr    directr.   indirects         r!   test_read_hdf_open_storer|      s     

		a ''/6lW
B
 BHHM	3t	,BIIl3I/lD)F	,S	) UE4(
fh/}}}  s   1CC"c                 @   t        t        j                  j                  d      j                  d      g dt	        d            }|j                  | ddd	       t        | d      }|j                  j                  j                  J t        j                  ||       y )
Nr   rj   )r      r      rm   rn   r    rs   tabler   r^   format)r   rB   rC   rD   rF   r   r   r'   _databaserL   rw   )r   r    r;   s      r!   test_read_hdf_index_not_viewr      s     

		a ''/W
B IIl3wI?
<
&C99??'''"c"    c                    t        t        j                  j                  d      j                  d      t	        d      t	        d            }d|j
                  _        |j                  dd	      }|j                  | d
dd       t        | d
      }t        | d
d      }t        |j                        5  t        |t              sJ t        |j                               }d d d        t!        j"                  |       y # 1 sw Y    xY w)Nr   rj   rl   rm   rn   ro   rp   Trq   r    rs   tr   )iterator)r   rB   rC   rD   rF   r'   ru   rv   r   r   r   r.   rO   r   next__iter__rL   rw   )r   r    rz   r   r{   s        r!   test_read_hdf_iteratorr      s    	
		a ''/6lW
B
 BHHM	3t	,BIIl3sI;lD)FdT:H		  -(M222))+,- &(+- -s   5,D  D	c                    t        t        j                  j                  d      j                  d      t	        d      t	        d            }|j                  | dd       t        |       }t        j                  ||       |j                  | d	d       d
}t        j                  t        |      5  t        |        d d d        y # 1 sw Y   y xY w)Nr   rj   rl   rm   rn   r    r   rt   r;   ?key must be provided when HDF5 file contains multiple datasets.r   )r   rB   rC   rD   rF   r   r   rL   rw   r   r   rP   r   r    rereadrV   s       r!   test_read_nokeyr      s    	
		a ''/6lW
B IIl3I/l#F"f%IIlCI0
KC	z	-   s   3CCc                 j   t        t        d      t        t        d      d      d      }|j	                  | ddd	       t        |       }t        j                  ||       |j	                  | d
dd	       d}t        j                  t        |      5  t        |        d d d        y # 1 sw Y   y xY w)Nrk   abacdcategorydtype)icr    r   r   r   r;   r   r   )r   r   r   rF   r   r   rL   rw   r   r   rP   r   s       r!   test_read_nokey_tabler      s    	qtG}J(OP	QBIIl3wI?l#F"f%IIlCI@
KC	z	-   s   B))B2c                     t        |       }|j                          t        j                  d      }t	        j
                  t        |      5  t        |        d d d        y # 1 sw Y   y xY w)Nz]Dataset(s) incompatible with Pandas data types, not table, or no datasets found in HDF5 file.r   )r   closerI   rJ   r   r   rP   r   )r   r.   rV   s      r!   test_read_nokey_emptyr      sU    \"E	KKM
))	'C 
z	-   s   A!!A*c                 
   t        t        j                  j                  d      j                  d      t	        d      t	        d            }|j                  | dd       t        | d	      }t        j                  ||       y )
Nr   rj   rl   rm   rn   r    r   rt   r   )	r   rB   rC   rD   rF   r   r   rL   rw   )r   rX   actuals      r!   test_read_from_pathlib_pathr     sg    
		a ''/6lWH OOLdO5l-F(F+r   r   fixedr   c                     t        t        d      t        j                        }|j	                  | d|       t        | dd      }t        j                  ||       y )Nr1   r   r\   r   r   r-   rt   )r   r   rB   float64r   r   rL   rT   )r   r   seriesrW   s       r!   test_read_hdf_series_mode_rr     sH    
 E"IRZZ0F
MM,F6M:lS9F66*r   c           
         t        dg di      }|j                  | dd       t        j                  dd      5  t	        | dd	      }d d d        t        dg dit        j
                  t        j                  
      t        dgt        j
                  t        j                  
                  }t        j                  |       y # 1 sw Y   xY w)Nr   )r   r   Nr\   r   r   zfuture.infer_stringTr-   rt   )na_valuer   )r   r6   )r   r   pdoption_contextr   StringDtyperB   rR   r   rL   rw   )r   r    rW   rX   s       r!   test_read_infer_stringr     s    	C)*	+BIIlwI7			0$	7 >,F=>	nnbff-se2>>266#BCH
 &(+> >s   C

Cc                     t        ddgd      }| j                  d|       | j                  d      }t        j                  ||       y )Nz
2001-01-01z
2002-02-02zdatetime64[s]r   df_s)r   putgetrL   rw   )rU   r   df_fromstores      r!   $test_hdfstore_read_datetime64_unit_sr   ,  sC    lL1IDfd# $$V,L$-r   ))
contextlibr   rI   numpyrB   r   pandas.compatr   pandasr   r   r   r   r   r	   rL   r
   r   pandas.io.pytablesr   mark
single_cpu
pytestmarkr"   r+   r/   rY   ra   skipifrh   r|   r   r   r   r   r   r   parametrizer   r   r    r   r!   <module>r      s     	   -    -kk$$%

&
&L-^% ')2WX% Y%&#",$(, GW#56+ 7+,.r   