
    *#h\                        d Z ddlZddlZddlmZ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j                  ej                  ej                  ej
                  ej                  dZej                  Zd Zdefd	Zdej*                  fd
Zd dZd dZd!dee   dej*                  fdZdefdZdeddfdZd Zd Zd Zd Z d dZ!d dZ" e         G d d      Z#da$ G d d      Z% e%       Zde&fdZ'd Z(d Z)y)"z Logging utilities.     N)CRITICALDEBUGERRORFATALINFONOTSETWARNWARNING)Optional)auto)debuginfowarningerrorcriticalc            	          t        j                  dd      } | r[| t        v r	t        |    S t        j                         j                  d|  ddj                  t        j                                       t        S )z
    If DATASETS_VERBOSITY env var is set to one of the valid choices return that as the new default level.
    If it is not - fall back to ``_default_log_level``
    DATASETS_VERBOSITYNz"Unknown option DATASETS_VERBOSITY=z, has to be one of: z, )	osgetenv
log_levelslogging	getLoggerr   joinkeys_default_log_level)env_level_strs    S/var/www/html/sandstorm/venv/lib/python3.12/site-packages/datasets/utils/logging.py_get_default_logging_levelr   ,   ss    
 II2D9MJ&m,,''4]O D%&*ii
0A&B$DF     returnc                  2    t         j                  d      d   S )N.r   )__name__split r   r   _get_library_namer&   =   s    >>#q!!r   c                  <    t        j                  t                     S N)r   r   r&   r%   r   r   _get_library_root_loggerr)   A   s    .011r   c                      t               } | j                  t        j                                | j	                  t                      y r(   )r)   
addHandlerr   StreamHandlersetLevelr   library_root_loggers    r   _configure_library_root_loggerr0   E   s4    24""7#8#8#:;  !;!=>r   c                  V    t               } | j                  t        j                         y r(   )r)   r-   r   r   r.   s    r   _reset_library_root_loggerr2   L   s    24  0r   namec                 D    | 
t               } t        j                  |       S )z_Return a logger with the specified name.
    This function can be used in dataset scripts.
    )r&   r   r   )r3   s    r   
get_loggerr5   Q   s"     | "T""r   c                  2    t               j                         S )a  Return the current level for the HuggingFace datasets library's root logger.
    Returns:
        Logging level, e.g., `datasets.logging.DEBUG` and `datasets.logging.INFO`.

    <Tip>

        HuggingFace datasets library has following logging levels:
        - `datasets.logging.CRITICAL`, `datasets.logging.FATAL`
        - `datasets.logging.ERROR`
        - `datasets.logging.WARNING`, `datasets.logging.WARN`
        - `datasets.logging.INFO`
        - `datasets.logging.DEBUG`

    </Tip>
    )r)   getEffectiveLevelr%   r   r   get_verbosityr8   Z   s      $%7799r   	verbosityc                 6    t               j                  |        y)zSet the level for the Hugging Face Datasets library's root logger.
    Args:
        verbosity:
            Logging level, e.g., `datasets.logging.DEBUG` and `datasets.logging.INFO`.
    N)r)   r-   )r9   s    r   set_verbosityr;   m   s     ''	2r   c                       t        t              S )zSet the level for the Hugging Face datasets library's root logger to `INFO`.

    This will display most of the logging information and tqdm bars.

    Shortcut to `datasets.logging.set_verbosity(datasets.logging.INFO)`.
    )r;   r   r%   r   r   set_verbosity_infor=   v   s     r   c                       t        t              S )zSet the level for the Hugging Face datasets library's root logger to `WARNING`.

    This will display only the warning and errors logging information and tqdm bars.

    Shortcut to `datasets.logging.set_verbosity(datasets.logging.WARNING)`.
    )r;   r
   r%   r   r   set_verbosity_warningr?      s     !!r   c                       t        t              S )zSet the level for the Hugging Face datasets library's root logger to `DEBUG`.

    This will display all the logging information and tqdm bars.

    Shortcut to `datasets.logging.set_verbosity(datasets.logging.DEBUG)`.
    )r;   r   r%   r   r   set_verbosity_debugrA           r   c                       t        t              S )zSet the level for the Hugging Face datasets library's root logger to `ERROR`.

    This will display only the errors logging information and tqdm bars.

    Shortcut to `datasets.logging.set_verbosity(datasets.logging.ERROR)`.
    )r;   r   r%   r   r   set_verbosity_errorrD      rB   r   c                  "    dt               _        y)zjDisable propagation of the library log outputs.
    Note that log propagation is disabled by default.
    FNr)   	propagater%   r   r   disable_propagationrH      s     ,1(r   c                  "    dt               _        y)zEnable propagation of the library log outputs.
    Please disable the Hugging Face datasets library's default handler to prevent double logging if the root logger has
    been configured.
    TNrF   r%   r   r   enable_propagationrJ      s    
 ,0(r   c                   .    e Zd ZdZd Zd Zd Zd Zd Zy)	EmptyTqdmz%Dummy tqdm which doesn't do anything.c                 ,    |r|d   | _         y d | _         y )Nr   )	_iteratorselfargskwargss      r   __init__zEmptyTqdm.__init__   s    $(adr   c                 ,    t        | j                        S r(   )iterrN   rP   s    r   __iter__zEmptyTqdm.__iter__   s    DNN##r   c                     d }|S )zReturn empty function.c                       y r(   r%   )rQ   rR   s     r   empty_fnz'EmptyTqdm.__getattr__.<locals>.empty_fn   s    r   r%   )rP   _rZ   s      r   __getattr__zEmptyTqdm.__getattr__   s    	 r   c                     | S r(   r%   rV   s    r   	__enter__zEmptyTqdm.__enter__   s    r   c                      y r(   r%   )rP   type_value	tracebacks       r   __exit__zEmptyTqdm.__exit__   s    r   N)	r#   
__module____qualname____doc__rS   rW   r\   r^   rc   r%   r   r   rL   rL      s    /3$r   rL   Tc                   *    e Zd ZdddZd Zd Zd Zy)	_tqdm_clsF)disablec                R    t         r|st        j                  |i |S t        |i |S r(   )_tqdm_activetqdm_libtqdmrL   )rP   ri   rQ   rR   s       r   __call__z_tqdm_cls.__call__   s+    ==$1&11d-f--r   c                 \    d | _         t        rt        j                  j                  |i |S y r(   )_lockrk   rl   rm   set_lockrO   s      r   rq   z_tqdm_cls.set_lock   s+    
==))4:6:: r   c                 L    t         rt        j                  j                         S y r(   )rk   rl   rm   get_lockrV   s    r   rs   z_tqdm_cls.get_lock   s    ==))++ r   c                 ^    	 | j                   |= y# t        $ r |dk7  rt        |      Y yw xY w)z;fix for https://github.com/huggingface/datasets/issues/6066rp   N)__dict__KeyErrorAttributeError)rP   attrs     r   __delattr__z_tqdm_cls.__delattr__   s9    	+d# 	+w$T** 	+s    ,,N)r#   rd   re   rn   rq   rs   ry   r%   r   r   rh   rh      s    &+ .;
,+r   rh   c                       t        t              S )zCReturn a boolean indicating whether tqdm progress bars are enabled.)boolrk   r%   r   r   is_progress_bar_enabledr|      s     r   c                      da y)zEnable tqdm progress bar.TNrk   r%   r   r   enable_progress_barr      s	     Lr   c                      da y)zDisable tqdm progress bar.FNr~   r%   r   r   disable_progress_barr      s	     Lr   )r    Nr(   )*rf   r   r   r   r   r   r   r   r   r	   r
   typingr   rm   r   rl   r   r   r   strr&   Loggerr)   r0   r2   r5   intr8   r;   r=   r?   rA   rD   rH   rJ   rL   rk   rh   r{   r|   r   r   r%   r   r   <module>r      s&     		 	 	  ! ]]LL]]  
 __ ""3 "2'.. 2?1
#Xc] #gnn #:s :&3S 3T 3"  10    0 + +2 { r   