
    +gd                         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)dS )"z Logging utilities.     N)CRITICALDEBUGERRORFATALINFONOTSETWARNWARNING)Optional)auto)debuginfowarningerrorcriticalc            	         t          j        dd          } | rl| t          v rt          |          S t          j                                        d|  dd                    t                                                                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    6lib/python3.11/site-packages/datasets/utils/logging.py_get_default_logging_levelr   ,   s    
 I2D99M J&&m,,''F] F F&*ii
0A0A&B&BF F       returnc                  B    t                               d          d         S )N.r   )__name__split r   r   _get_library_namer&   =   s    >>#q!!r   c                  B    t          j        t                                S N)r   r   r&   r%   r   r   _get_library_root_loggerr)   A   s    .00111r   c                  d    t                      } |                     t                                 d S r(   )r)   setLevelr   library_root_loggers    r   _configure_library_root_loggerr.   E   s/    244  !;!=!=>>>>>r   c                  `    t                      } |                     t          j                   d S r(   )r)   r+   r   r   r,   s    r   _reset_library_root_loggerr0   K   s*    244  00000r   namec                 J    | t                      } t          j        |           S )z_Return a logger with the specified name.
    This function can be used in dataset scripts.
    )r&   r   r   )r1   s    r   
get_loggerr3   P   s%     | ""T"""r   c                  B    t                                                      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_verbosityr6   Y   s      $%%77999r   	verbosityc                 H    t                                          |            dS )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+   )r7   s    r   set_verbosityr9   l   s$     ''	2222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)`.
    )r9   r   r%   r   r   set_verbosity_infor;   u   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)`.
    )r9   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)`.
    )r9   r   r%   r   r   set_verbosity_debugr?           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)`.
    )r9   r   r%   r   r   set_verbosity_errorrB      r@   r   c                  ,    dt                      _        dS )zjDisable propagation of the library log outputs.
    Note that log propagation is disabled by default.
    FNr)   	propagater%   r   r   disable_propagationrF      s     ,1(((r   c                  ,    dt                      _        dS )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.
    TNrD   r%   r   r   enable_propagationrH      s    
 ,0(((r   c                   0    e Zd ZdZd Zd Zd Zd Zd ZdS )	EmptyTqdmz%Dummy tqdm which doesn't do anything.c                 (    |r|d         nd | _         d S )Nr   )	_iteratorselfargskwargss      r   __init__zEmptyTqdm.__init__   s    $(2adr   c                 *    t          | j                  S r(   )iterrL   rN   s    r   __iter__zEmptyTqdm.__iter__   s    DN###r   c                     d }|S )zReturn empty function.c                      d S r(   r%   )rO   rP   s     r   empty_fnz'EmptyTqdm.__getattr__.<locals>.empty_fn   s    Fr   r%   )rN   _rX   s      r   __getattr__zEmptyTqdm.__getattr__   s    	 	 	 r   c                     | S r(   r%   rT   s    r   	__enter__zEmptyTqdm.__enter__   s    r   c                     d S r(   r%   )rN   type_value	tracebacks       r   __exit__zEmptyTqdm.__exit__   s    r   N)	r#   
__module____qualname____doc__rQ   rU   rZ   r\   ra   r%   r   r   rJ   rJ      se        //3 3 3$ $ $        r   rJ   Tc                        e Zd Zd Zd Zd ZdS )	_tqdm_clsc                 J    t           rt          j        |i |S t          |i |S r(   )_tqdm_activetqdm_libtqdmrJ   rM   s      r   __call__z_tqdm_cls.__call__   s2     	.=$1&111d-f---r   c                 N    d | _         t          rt          j        j        |i |S d S r(   )_lockrh   ri   rj   set_lockrM   s      r   rn   z_tqdm_cls.set_lock   s3    
 	;=)4:6:::	; 	;r   c                 P    t           rt          j                                        S d S r(   )rh   ri   rj   get_lockrT   s    r   rp   z_tqdm_cls.get_lock   s(     	,=))+++	, 	,r   N)r#   rb   rc   rk   rn   rp   r%   r   r   rf   rf      sA        . . .; ; ;
, , , , ,r   rf   c                  *    t          t                    S )zCReturn a boolean indicating whether tqdm progress bars are enabled.)boolrh   r%   r   r   is_progress_bar_enabledrs      s     r   c                  
    da dS )zEnable tqdm progress bar.TNrh   r%   r   r   enable_progress_barrv      s     LLLr   c                  
    da dS )zDisable tqdm progress bar.FNru   r%   r   r   disable_progress_barrx      s     LLLr   )r    Nr(   )*rd   r   r   r   r   r   r   r   r   r	   r
   typingr   rj   r   ri   r   r   r   strr&   Loggerr)   r.   r0   r3   intr6   r9   r;   r=   r?   rB   rF   rH   rJ   rh   rf   rr   rs   rv   rx   r%   r   r   <module>r}      s      					 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	       ! ! ! ! ! ! ]L]  
 _   ""3 " " " "2'. 2 2 2 2? ? ? ?1 1 1 1
# #Xc] #gn # # # #:s : : : :&3S 3T 3 3 3 3  " " "          1 1 1 10 0 0 0               0 , , , , , , , ," y{{          r   