
    j                    j    U 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a	de
d<    G d d      Zd
dd	Zy)    )annotationsN)OptionalTextIO)colorszOptional[SimpleLogger]_loggerc                  d    e Zd ZdZdddZddZddZ	 d	 	 	 	 	 	 	 ddZddZddZ	dd	Z
dd
Zy)SimpleLoggera  A simple, self-contained logger that writes output to stderr.

    This implementation avoids reliance on external dependencies (e.g., `rich`)
    by sending log messages (debug, info, warning, etc.) directly to standard
    error (`sys.stderr`) by default.
    c                <    t         j                  | _        || _        y N)loggingWARNINGlevel
use_colors)selfr   s     N/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/magika/logger.py__init__zSimpleLogger.__init__$   s    __
$    c                    || _         y r   )r   )r   r   s     r   setLevelzSimpleLogger.setLevel(   s	    
r   c                F    | j                  |t        j                         y )N)file)	raw_printsysstdoutr   msgs     r   raw_print_to_stdoutz SimpleLogger.raw_print_to_stdout+   s    s,r   Nc                D    |t         j                  }t        |||       y )N)r   flush)r   stderrprint)r   r   r   r   s       r   r   zSimpleLogger.raw_print.   s      < ::DcE*r   c                    t         j                  | j                  k\  rV| j                  r5| j	                  t
        j                   d| t
        j                          y | j	                  d|        y y )NzDEBUG: )r   DEBUGr   r   r   r   GREENRESETr   s     r   debugzSimpleLogger.debug:   sS    ==DJJ&&,,wseFLL>JK/	 'r   c                h    t         j                  | j                  k\  r| j                  d|        y y )NzINFO: )r   INFOr   r   r   s     r   infozSimpleLogger.infoA   s)    <<4::%NNVC5>* &r   c                    t         j                  | j                  k\  rV| j                  r5| j	                  t
        j                   d| t
        j                          y | j	                  d|        y y )Nz	WARNING: )r   r   r   r   r   r   YELLOWr%   r   s     r   warningzSimpleLogger.warningE   sT    ??djj(&--	#v||nMN3%01	 )r   c                    t         j                  | j                  k\  rV| j                  r5| j	                  t
        j                   d| t
        j                          y | j	                  d|        y y )NzERROR: )r   ERRORr   r   r   r   REDr%   r   s     r   errorzSimpleLogger.errorL   sS    ==DJJ&&**WSE&,,HI/	 'r   F)r   bool)r   intreturnNone)r   strr4   r5   )NT)r   r6   r   zOptional[TextIO]r   r2   r4   r5   )__name__
__module____qualname____doc__r   r   r   r   r&   r)   r,   r0    r   r   r	   r	      sV    %- FJ
+
+.
+>B
+	
+0+20r   r	   c                2    t         t        |       a t         S )Nr   )r   r	   r=   s    r   
get_loggerr>   T   s     *5Nr   r1   )r   r2   r4   r	   )
__future__r   r   r   typingr   r   magikar   r   __annotations__r	   r>   r;   r   r   <module>rC      s1   " #  
 # "&	 &50 50pr   