
    i                         d dl mZ d dlmZ d dlZd dlZd dlmZmZ d dl	m
Z
 d dlmZ d dlmZ erd dlmZ d d	lmZmZmZ e	 	 	 	 	 	 dd
       Zedd       Zedd       ZddZy)    )annotations)contextmanagerN)IOTYPE_CHECKING)CHAINED_WARNING_DISABLED)ChainedAssignmentError)
get_handle)	Generator)
BaseBufferCompressionOptionsFilePathc              #  p   K   t        | d|d      5 }|j                   ddd       y# 1 sw Y   yxY ww)a&  
    Open a compressed file and return a file object.

    Parameters
    ----------
    path : str
        The path where the file is read from.

    compression : {'gzip', 'bz2', 'zip', 'xz', 'zstd', None}
        Name of the decompression to use

    Returns
    -------
    file object
    rbF)compressionis_textN)r	   handle)pathr   r   s      d/mnt/e/genesis-system/scripts/.venv_scraper/lib/python3.12/site-packages/pandas/_testing/contexts.pydecompress_filer      s6     & 
D$K	G 6mm  s   6*	636c              #     K   ddl dfd}t        j                  j                  d      } ||        	 d  ||       y#  ||       w xY ww)a  
    Context manager for temporarily setting a timezone.

    Parameters
    ----------
    tz : str
        A string representing a valid timezone.

    Examples
    --------
    >>> from datetime import datetime
    >>> from dateutil.tz import tzlocal
    >>> tzlocal().tzname(datetime(2021, 1, 1))  # doctest: +SKIP
    'IST'

    >>> with set_timezone("US/Eastern"):
    ...     tzlocal().tzname(datetime(2021, 1, 1))
    'EST'
    r   Nc                    t        d      rM| 	 t        j                  d= y | t        j                  d<   t        j
                  dk7  rj                          y y y # t        $ r Y y w xY w)NtzsetTZwin32)hasattrosenvironKeyErrorsysplatformr   )tztimes    r   setTZzset_timezone.<locals>.setTZH   sf    4!z

4( $&

4 <<7*JJL + "   s   A 	A('A(r   )returnNone)r"   r   r   get)r!   r#   orig_tzr"   s      @r   set_timezoner(   1   sB     * ! jjnnT"G	"Iggs   2AA 	A
AAc              +     K   ddl }h d}| |v rt        d       |j                  | fi | 	 d |j                  |        y# |j                  |        w xY ww)au  
    Context manager to temporarily register a CSV dialect for parsing CSV.

    Parameters
    ----------
    name : str
        The name of the dialect.
    kwargs : mapping
        The parameters for the dialect.

    Raises
    ------
    ValueError : the name of the dialect conflicts with a builtin one.

    See Also
    --------
    csv : Python's CSV library.
    r   N>   	excel-tabunixexcelz Cannot override builtin dialect.)csv
ValueErrorregister_dialectunregister_dialect)namekwargsr-   _BUILTIN_DIALECTSs       r   with_csv_dialectr4   ]   s_     ( 6  ;<<C((%t$t$s   +AA AAAc                    ddl m} t        r| sddlm}  |       S  || |      S t
        }d}| r|g| } |||g|      S )Nr   )assert_produces_warning)nullcontext)matchzRA value is being set on a copy of a DataFrame or Series through chained assignment)pandas._testingr6   r   
contextlibr7   r   )extra_warningsextra_matchr6   r7   warningr8   s         r   raises_chained_assignment_errorr>      sg    7.= *! 
 )) 	 00G&';'
 	
    )r   zFilePath | BaseBufferr   r   r$   zGenerator[IO[bytes]])r!   strr$   Generator[None])r1   r@   r$   rA   ) rB   )
__future__r   r:   r   r   r   typingr   r   pandas.compatr   pandas.errorsr   pandas.io.commonr	   collections.abcr
   pandas._typingr   r   r   r   r(   r4   r>   rB   r?   r   <module>rJ      s    " % 	 

 3 0 ')  
.@ , ( (V % %B
r?   