o
    ½Ùøi   ã                   @   sn   d Z ddlZddlZe d¡Zejse ej¡ e e 	¡ ¡ e d¡Z
G dd„ dejƒZejd	dd„ƒZdS )
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                   @   s   e Zd ZdZdd„ ZdS )ÚCallbackHandlerz:A logging handler that calls a function for every message.c                 C   s   t j | ¡ || _d S )N)ÚloggingÚHandlerÚ__init__Úemit)ÚselfÚcallback© r   ú^/home/develop/edictos_py/central_edictos/env/lib/python3.10/site-packages/weasyprint/logger.pyr      s   
zCallbackHandler.__init__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r      s    r   c              	   #   sˆ   � ˆ du rt j‰ t  | ¡} g ‰‡ ‡fdd„}| j}| j}g | _|  t|ƒ¡ |  t j¡ zˆV  W || _|  |¡ dS || _|  |¡ w )z;Return a context manager that captures all logged messages.Nc                    s>   | j dkrd S | jˆ k rd S ˆ | j ¡ › d|  ¡ › �¡ d S )Nr   z: )ÚnameÚlevelnoÚappendÚ	levelnameÚupperÚ
getMessage)Úrecord©ÚlevelÚmessagesr   r   r   *   s
   

"zcapture_logs.<locals>.emit)	r   ÚINFOÚ	getLoggerÚhandlersr   Ú
addHandlerr   ÚsetLevelÚDEBUG)Úloggerr   r   Úprevious_handlersÚprevious_levelr   r   r   Úcapture_logs"   s"   €
ÿr$   )r   N)r   Ú
contextlibr   r   ÚLOGGERr   r   ÚWARNINGr   ÚNullHandlerÚPROGRESS_LOGGERr   r   Úcontextmanagerr$   r   r   r   r   Ú<module>   s    

