403Webshell
Server IP : 127.0.0.1  /  Your IP : 216.73.216.109
Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10
System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64
User : SERVERWEB ( 0)
PHP Version : 8.1.10
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : OFF |  Perl : OFF |  Python : OFF |  Sudo : OFF |  Pkexec : OFF
Directory :  C:/cygwin64/lib/python3.9/site-packages/sphinx/util/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : C:/cygwin64/lib/python3.9/site-packages/sphinx/util/__pycache__/logging.cpython-39.pyc
a

�ab�G�
@s�UdZddlZddlZddlmZddlmZddlmZm	Z	m
Z
mZmZm
Z
mZmZmZmZddlmZddlmZddlmZdd	lmZdd
lmZe	r�ddlmZdZd
Zedd��Z ee!e"fe#d<e �$ej%ej%ej&ej'ej(eej)d��edd��Z*ee"e"fe#d<e*�$ej(eej)d��edd�ej&dej'dej)di�Z+e!dd�dd�Z,e
ej-dd�dd�Z.Gd d!�d!ej-�Z/Gd"d#�d#e/�Z0Gd$d%�d%e/�Z1Gd&d�dej2�Z3Gd'd(�d(ej4�Z5Gd)d*�d*ej4�Z6Gd+d,�d,ej7j8�Z9eeej:ddfd-�d.d/��Z;eee9ddfd-�d0d1��Z<eee9ddfd-�d2d3��Z=ed`e>ed5d6�d7d8��Z?ee!ed5d9�d:d;��Z@Gd<d=�d=�ZAGd>d?�d?ejB�ZCe!e!e
e!e>d@�dAdB�ZDGdCdD�dDejB�ZEGdEdF�dFejB�ZFGdGdH�dHejB�ZGGdIdJ�dJejB�ZHGdKdL�dLejB�ZIGdMdN�dNejB�ZJGdOdP�dPeJ�ZKGdQdR�dReJ�ZLeee!dS�dTdU�ZMGdVdW�dWejN�ZOGdXdY�dY�ZPGdZd[�d[�ZQd\eedd]�d^d_�ZRdS)az�
    sphinx.util.logging
    ~~~~~~~~~~~~~~~~~~~

    Logging utility functions for Sphinx.

    :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�defaultdict)�contextmanager)
�IO�
TYPE_CHECKING�Any�Dict�	Generator�List�Optional�Tuple�Type�Union)�nodes)�Node��get_source_line)�
SphinxWarning)�colorize)�SphinxZsphinx�cCstjS�N)�logging�WARNING�rr�7/usr/lib/python3.9/site-packages/sphinx/util/logging.py�<lambda>�r�LEVEL_NAMES)�CRITICALZSEVERE�ERRORr�INFO�VERBOSE�DEBUGcCsdS)Nrrrrrrr*r�
VERBOSITY_MAP)r��cCsdS)NZbluerrrrrr1rZdarkredZredZdarkgray�SphinxLoggerAdapter��name�returncCs"t�td|�}d|_t|i�S)a�Get logger wrapped by :class:`sphinx.util.logging.SphinxLoggerAdapter`.

    Sphinx logger always uses ``sphinx.*`` namespace to be independent from
    settings of root logger.  It ensures logging is consistent even if a
    third-party extension or imported application resets logger settings.

    Example usage::

        >>> from sphinx.util import logging
        >>> logger = logging.getLogger(__name__)
        >>> logger.info('Hello, this is an extension!')
        Hello, this is an extension!
    �.F)r�	getLogger�	NAMESPACEZdisabledr&)r(�loggerrrrr+9sr+)�recordsr)cCs@|D]6}|��|_d|_t|dd�}t|tj�rt|�|_qdS)zConvert LogRecord serializable.r�locationN)	�
getMessage�msg�args�getattr�
isinstancerr�get_node_locationr/)r.�rr/rrr�convert_serializableOs
r7cs8eZdZUdZdZdZeed<ed��fdd�Z	�Z
S)�SphinxLogRecordz$Log record class supporting location�Nr/�r)csDt���}t|dd�}|r,d||j|f}n|j|vr@|j|}|S)Nr/z%s: %s%s)�superr0r3�prefix)�self�messager/��	__class__rrr0`s


zSphinxLogRecord.getMessage)�__name__�
__module__�__qualname__�__doc__r<r/r�__annotations__�strr0�
__classcell__rrr?rr8[s
r8c@seZdZdZdZdS)�SphinxInfoLogRecordz)Info log record class supporting locationr9N)rArBrCrDr<rrrrrHksrHc@s"eZdZdZeed�dd��ZdS)�SphinxWarningLogRecordz,Warning log record class supporting locationr:cCs(|jtjkrdS|jtjkr dSdSdS)Nz
CRITICAL: zERROR: z	WARNING: )�levelnorrr�r=rrrr<rs
zSphinxWarningLogRecord.prefixN)rArBrCrD�propertyrFr<rrrrrIpsrIcs~eZdZdZgd�Zeeefeeedd��fdd�Z	eeedd�dd	�Z
eeeeefd
�dd�Z
ejdd
�dd�Z�ZS)r&z9LoggerAdapter allowing ``type`` and ``subtype`` keywords.)�type�subtyper/�nonl�color�onceN)�levelr1r2�kwargsr)csPt|t�r(t�j||g|�Ri|��n$t|}t�j||g|�Ri|��dSr)r4�intr;�logr)r=rRr1r2rSrJr?rrrU�s
zSphinxLoggerAdapter.log)r1r2rSr)cOs|jt|g|�Ri|��dSr)rUr!)r=r1r2rSrrr�verbose�szSphinxLoggerAdapter.verbose)r1rSr)cCs6|�di�}|jD]}||vr|�|�||<q||fS)N�extra)�
setdefault�KEYWORDS�pop)r=r1rSrW�keywordrrr�process�s

zSphinxLoggerAdapter.process��recordr)cCs|j�|�dSr)r-�handle�r=r^rrrr_�szSphinxLoggerAdapter.handle)rArBrCrDrYr
rTrFrrUrVrrr\r�	LogRecordr_rGrrr?rr&|s"c@seZdZdZdS)�WarningStreamHandlerzStreamHandler for warnings.N)rArBrCrDrrrrrb�srbcs*eZdZdZejdd��fdd�Z�ZS)�NewLineStreamHandlerzAStreamHandler which switches line terminator by record.nonl flag.Nr]csNz8|��t|dd�rd|_t��|�Wd|_|��nd|_|��0dS)NrOFr9�
)�acquirer3�
terminatorr;�emit�releaser`r?rrrg�s
�zNewLineStreamHandler.emit)rArBrCrDrrargrGrrr?rrc�srccs|eZdZUdZeejed<dd��fdd�Zeje	d�dd	�Z
dd�d
d�Zejdd�d
d�Z
eejd�dd�Z�ZS)�
MemoryHandlerzHandler buffering all logs.�bufferNr:cst��d�dS)N���)r;�__init__rKr?rrrl�szMemoryHandler.__init__r]cCsdS)NFrr`rrr�shouldFlush�szMemoryHandler.shouldFlushcCsdSrrrKrrr�flush�szMemoryHandler.flush)r-r)cCs@|��z(|jD]}|�|�qg|_W|��n
|��0dSr)rerjr_rh)r=r-r^rrr�flushTo�s
zMemoryHandler.flushTocCs|jg}|_|Sr)rj)r=rjrrr�clear�szMemoryHandler.clear)rArBrCrDr	rrarErl�boolrmrnZLoggerrorprGrrr?rri�s
	rir:c
cs�t�t�}t�}|�tj�zrg}|jdd�D]"}t|t�r0|�	|�|�
|�q0|�|�|VW|�	|�|D]}|�|�qt|�|�n*|�	|�|D]}|�|�q�|�|�0dS)zgContext manager to postpone logging warnings temporarily.

    Similar to :func:`pending_logging`.
    N)
rr+r,ri�setLevelr�handlersr4rb�
removeHandler�append�
addHandlerro�r-�
memhandlerrs�handlerrrr�pending_warnings�s&




�
rzc
cs�t�t�}t�}z^g}|jdd�D]}|�|�|�|�q$|�|�|VW|�|�|D]}|�|�q^n |�|�|D]}|�|�q~0dS)z�Context manager to suppress logging all logs temporarily.

    For example::

        >>> with suppress_logging():
        >>>     logger.warning('Warning message!')  # suppressed
        >>>     some_long_process()
        >>>
    N)rr+r,rirsrtrurvrwrrr�suppress_logging�s



�
r{c	csVt�t�}z:t��}|VWd�n1s.0YW|�|�n|�|�0dS)a$Context manager to postpone logging all logs temporarily.

    For example::

        >>> with pending_logging():
        >>>     logger.warning('Warning message!')  # not flushed yet
        >>>     some_long_process()
        >>>
        Warning message!  # the warning is flushed here
    N)rr+r,r{ro)r-rxrrr�pending_loggings

&r|T�NNN)�skipr)c
csxt�t�}|durdVnZz@t�}|jD]}|j�d|�q(dVW|jD]}|�|�qJn|jD]}|�|�qb0dS)z9Context manager to skip WarningIsErrorFilter temporarily.FNr)rr+r,�DisableWarningIsErrorFilterrs�filters�insert�removeFilter)r~r-Zdisablerryrrr�skip_warningiserrors


�
r��r<r)c	cs�t�t�}d}|jD]}t|t�r|}q6qdVdSd}|jD]}t|t�r@|}qXq@|r�z|j}||_dVW||_q�||_0n4t|�}z|�	|�dVW|�
|�n|�
|�0dS)z�Context manager to prepend prefix to all warning log records temporarily.

    For example::

        >>> with prefixed_warnings("prefix:"):
        >>>     logger.warning('Warning message!')  # => prefix: Warning message!

    .. versionadded:: 2.0
    N)rr+r,rsr4rbr��MessagePrefixFilterr<�	addFilterr�)r<r-�warning_handlerryZ
prefix_filter�_filterZpreviousrrr�prefixed_warnings)s0





r�c@s0eZdZdd�dd�Zeedd�dd��ZdS)�LogCollectorNr:cCs
g|_dSr)�logsrKrrrrlXszLogCollector.__init__r}ccs:t�� }dV|��|_Wd�n1s,0YdSr)r|rpr�)r=rxrrr�collect[szLogCollector.collect)rArBrCrlrrr�rrrrr�Wsr�c@s"eZdZdZejed�dd�ZdS)�
InfoFilterz"Filter error and warning messages.r]cCs|jtjkrdSdSdS)NTF)rJrrr`rrr�filterfszInfoFilter.filterN�rArBrCrDrrarqr�rrrrr�csr�)rMrN�suppress_warningsr)cCsZ|durdS|D]D}d|vr.|�dd�\}}n
|d}}||kr|d|dfvrdSqdS)z/Check whether the warning is suppressed or not.NFr*r$�*T)�split)rMrNr�Zwarning_type�targetZ	subtargetrrr�is_suppressed_warningms
r�cs:eZdZdZddd��fdd�Zejed�dd	�Z�Z	S)
�WarningSuppressorz#Filter logs by `suppress_warnings`.rN��appr)cs||_t���dSr�r�r;rl�r=r�r?rrrl�szWarningSuppressor.__init__r]cCsft|dd�}t|dd�}z|jjj}Wnty<g}Yn0t|||�rNdS|jjd7_dSdS)NrMrNFr$T)r3r�Zconfigr��AttributeErrorr�Z
_warncount)r=r^rMrNr�rrrr��s
zWarningSuppressor.filter�
rArBrCrDrlrrarqr�rGrrr?rr��sr�cs:eZdZdZddd��fdd�Zejed�dd	�Z�Z	S)
�WarningIsErrorFilterz#Raise exception if warning emitted.rNr�cs||_t���dSrr�r�r?rrrl�szWarningIsErrorFilter.__init__r]c	Cs�t|dd�rdS|jjr�t|dd�}z|j|j}WnttfyP|j}Yn0|rlt|dt|��}nt|�}|j	dur�||j	d�q�|�ndSdS)N�skip_warningsiserrorFTr/r9�:r$)
r3r�Zwarningiserrorr1r2�	TypeError�
ValueErrorrrF�exc_info)r=r^r/r>�excrrrr��s
zWarningIsErrorFilter.filterr�rrr?rr��sr�c@s"eZdZdZejed�dd�ZdS)rz6Disable WarningIsErrorFilter if this filter installed.r]cCs
d|_dS)NT)r�r`rrrr��sz"DisableWarningIsErrorFilter.filterNr�rrrrr�srcs:eZdZdZedd��fdd�Zejed�dd�Z	�Z
S)	r�z"Prepend prefix to all log records.Nr�cs||_t���dSr)r<r;rl)r=r<r?rrrl�szMessagePrefixFilter.__init__r]cCs|jr|jd|j|_dS)N� T)r<r1r`rrrr��szMessagePrefixFilter.filter�rArBrCrDrFrlrrarqr�rGrrr?rr��sr�cs<eZdZdZd
edd��fdd�
Zejed�dd	�Z	�Z
S)�
OnceFilterzShow the message only once.r9Nr'cst��|�i|_dSr)r;rl�messages)r=r(r?rrrl�szOnceFilter.__init__r]cCsFt|dd�}|sdS|j�|jg�}|j|vr2dS|�|j�dSdS)NrQr9TF)r3r�rXr1r2ru)r=r^rQ�paramsrrrr��s
zOnceFilter.filter)r9r�rrr?rr��sr�csHeZdZUdZeejed<ddd��fdd�Ze	e
d�d	d
�Z�ZS)�SphinxLogRecordTranslatorz�Converts a log record to one Sphinx expects

    * Make a instance of SphinxLogRecord
    * docname to path if location given
    �LogRecordClassrNr�cs||_t���dSrr�r�r?rrrl�sz"SphinxLogRecordTranslator.__init__r]cCs�t|tj�r|j|_t|dd�}t|t�rv|\}}|rT|rTd|jj�	|�|f|_
q�|rnd|jj�	|�|_
q�d|_
n8t|tj�r�t
|�|_
n |r�d|vr�d|jj�	|�|_
dS)Nr/�%s:%sz%sr�T)r4rrar�r@r3�tupler��envZdoc2pathr/rrr5)r=r^r/Zdocname�linenorrrr��s
z SphinxLogRecordTranslator.filter)
rArBrCrDrrrarErlrIrqr�rGrrr?rr��s
r�c@seZdZdZeZdS)�InfoLogRecordTranslatorz/LogRecordTranslator for INFO level log records.N)rArBrCrDrHr�rrrrr�sr�c@seZdZdZeZdS)�WarningLogRecordTranslatorz2LogRecordTranslator for WARNING level log records.N)rArBrCrDrIr�rrrrr�sr�)�noder)cCs@t|�\}}|r |r d||fS|r,d|S|r8d|SdSdS)Nr�z%s:z<unknown>:%sr)r��source�linerrrr5sr5cs&eZdZejed��fdd�Z�ZS)�ColorizeFormatterr]csBt��|�}t|dd�}|dur,t�|j�}|r:t||�S|SdS)NrP)r;�formatr3�	COLOR_MAP�getrJr)r=r^r>rPr?rrr�s
zColorizeFormatter.format)rArBrCrrarFr�rGrrr?rr�sr�c@s>eZdZdZedd�dd�Zedd�dd�Zdd	�d
d�ZdS)�SafeEncodingWriterz7Stream writer which ignores UnicodeEncodeError silentlyN)�streamr)cCs||_t|dd�pd|_dS)N�encoding�ascii)r�r3r�)r=r�rrrrl&szSafeEncodingWriter.__init__��datar)c	CsFz|j�|�Wn0ty@|j�|�|jd��|j��Yn0dS)N�replace)r��write�UnicodeEncodeError�encoder��decode�r=r�rrrr�*szSafeEncodingWriter.writer:cCst|jd�r|j��dS)Nrn)�hasattrr�rnrKrrrrn2szSafeEncodingWriter.flush)	rArBrCrDrrlrFr�rnrrrrr�$sr�c@s2eZdZdZdedd�dd�Zedd�dd	�ZdS)
�LastMessagesWriterzBStream writer storing last 10 messages in memory to save trackbackrN)r�r�r)cCs
||_dSr)r�)r=r�r�rrrrl9szLastMessagesWriter.__init__r�cCs|jj�|�dSr)r�Z
messagelogrur�rrrr�<szLastMessagesWriter.write)rArBrCrDrrlrFr�rrrrr�7sr�r)r��status�warningr)cCs0t�t�}|�tj�d|_|jdd�D]}|�|�q*tt	|��}|�
t��|�
t|��|�t
|j�|�t��tt	|��}|�
t|��|�
t|��|�
t|��|�
t��|�tj�|�t��t�t||��}|�
t��|�t
|j�|�t��|�|�|�|�|�|�dS)zSetup root logger for SphinxFN)rr+r,rrr"Z	propagatersrtrcr�r�r�r�r#�	verbosityZsetFormatterr�rbr�r�r�r�r�
StreamHandlerr�rv)r�r�r�r-ryZinfo_handlerr�Zmessagelog_handlerrrr�setup@s0


r�)T)SrDrZlogging.handlers�collectionsr�
contextlibr�typingrrrrrr	r
rrr
ZdocutilsrZdocutils.nodesrZdocutils.utilsrZ
sphinx.errorsrZsphinx.util.consolerZsphinx.applicationrr,r!rrFrTrE�updaterrrr r"r#r�r+rar7r8rHrIZ
LoggerAdapterr&r�rbrcrsZBufferingHandlerriZHandlerrzr{r|rqr�r�r�ZFilterr�r�r�r�rr�r�r�r�r�r5Z	Formatterr�r�r�r�rrrr�<module>s�
0�
���-

"
	

Youez - 2016 - github.com/yon3zu
LinuXploit