
    Bh                      J   S r SSKrSSKr\R                  " S5      r\R
                  (       d;  \R                  \R                  5        \R                  \R                  " 5       5        \R                  " S5      r
 " S S\R                  5      r\R                  SS j5       rg)	a(  Logging setup.

The rest of the code gets the logger through this module rather than
``logging.getLogger`` to make sure that it is configured.

Logging levels are used for specific purposes:

- errors are used in ``LOGGER`` for unreachable or unusable external resources,
  including unreachable stylesheets, unreachables images and unreadable images;
- warnings are used in ``LOGGER`` for unknown or bad HTML/CSS syntaxes,
  unreachable local fonts and various non-fatal problems;
- infos are used in ``PROCESS_LOGGER`` to advertise rendering steps.

    N
weasyprintweasyprint.progressc                       \ rS rSrSrS rSrg)CallbackHandler   z:A logging handler that calls a function for every message.c                 N    [         R                  R                  U 5        Xl        g )N)loggingHandler__init__emit)selfcallbacks     C/var/www/html/env/lib/python3.13/site-packages/weasyprint/logger.pyr   CallbackHandler.__init__   s      &	    )r   N)__name__
__module____qualname____firstlineno____doc__r   __static_attributes__ r   r   r   r      s
    Dr   r   c              #     ^^#    Tc  [         R                  m[         R                  " U 5      n / mUU4S jnU R                  nU R                  n/ U l        U R                  [        U5      5        U R                  [         R                  5         Tv   X0l        U R                  U5        g! X0l        U R                  U5        f = f7f)z;Return a context manager that captures all logged messages.Nc                    > U R                   S:X  a  g U R                  T:  a  g TR                  U R                  R	                  5        SU R                  5        35        g )Nr   z: )namelevelnoappend	levelnameupper
getMessage)recordlevelmessagess    r   r   capture_logs.<locals>.emit*   sS    ;;//>>E!6++1134Bv7H7H7J6KLMr   )	r	   INFO	getLoggerhandlersr"   
addHandlerr   setLevelDEBUG)loggerr"   r   previous_handlersprevious_levelr#   s    `   @r   capture_logsr.   "   s      }v&FHN \\NFO
od+,
OOGMM"(+' ,'s   BCB, C,CC)r   N)r   
contextlibr	   r&   LOGGERr'   r)   WARNINGr(   NullHandlerPROGRESS_LOGGERr
   r   contextmanagerr.   r   r   r   <module>r5      s     			<	(
OOGOO$
g))+,##$9:goo  ( (r   