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/ext/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

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

�ab#Y�@sdZddlZddlZddlZddlZddlmZddlmZddl	m
Z
mZmZm
Z
mZmZmZmZmZmZddlmZddlmZmZmZddlmZdd	lmZmZdd
lm Z ddl!Z!ddl"m#Z#ddl$m%Z%dd
l&m'Z'ddl(m)Z)ddl*m+Z+ddl,m-Z-ddl.m/Z/e
�r"ddl0m1Z1e'�2e3�Z4e�5dej6�Z7e�5dej6�Z8e9e9e:d�dd�Z;Gdd�de+�Z<Gdd�de<�Z=Gdd�de<�Z>Gdd�de<�Z?Gd d!�d!e<�Z@Gd"d#�d#e<�ZAe�B�ZCGd$d%�d%�ZDGd&d'�d'�ZEGd(d)�d)ejF�ZGGd*d+�d+e#�ZHd,e
e9efd-�d.d/�ZIdS)0z�
    sphinx.ext.doctest
    ~~~~~~~~~~~~~~~~~~

    Mimic doctest by automatically executing code snippets and checking
    their results.

    :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�StringIO)�path)
�
TYPE_CHECKING�Any�Callable�Dict�Iterable�List�Sequence�Set�Tuple�Type)�nodes)�Element�Node�TextElement)�
directives)�InvalidSpecifier�SpecifierSet)�Version)�Builder)�__)�logging)�bold)�SphinxDirective)�relpath)�
OptionSpec)�Sphinxz^\s*<BLANKLINE>z#\s*doctest:.+$)�spec�version�returncCst|�t|�vS)aaCheck `spec` satisfies `version` or not.

    This obeys PEP-440 specifiers:
    https://www.python.org/dev/peps/pep-0440/#version-specifiers

    Some examples:

        >>> is_allowed_version('3.3', '<=3.5')
        True
        >>> is_allowed_version('3.3', '<=3.2')
        False
        >>> is_allowed_version('3.3', '>3.2, <4.0')
        True
    )rr)rr�r!�6/usr/lib/python3.9/site-packages/sphinx/ext/doctest.py�is_allowed_version.sr#c@s2eZdZdZdZdZdZdZee	d�dd�Z
dS)	�
TestDirectivez4
    Base class for doctest-related directives.
    Tr��r c
Cs�d�|j�}d}|jdkrZd|vr2|}t�d|�}t�|�rZd|jvrZ|sN|}t�d|�}tj	}|jdvstd|jvrztj
}|jr�dd	�|jd
�d�D�}ndg}||||j|d
�}|�
|�|dur�||d<|jdkr�|jjdvr�d|d<nd|d<nB|jdk�r&|jjdv�rd|d<nd|d<n|jdk�r:d|d<i|d<|jdv�rd|jv�r|jd�dd���}|D]�}|d
|dd�}}	|dv�r�|jjjjtd�||jd��qt|	tjv�r�|jjjjtd�|	|jd��qttj|dd�}
|d
d k|d|
<�qt|jdk�r�d!|jv�r�zN|jd!}d"�d#d	�tjdd$�D��}t||��svtjd%}
d&|d|
<Wn2t�y�|jjjjtd'�||jd�Yn0d(|jv�r�|jd(|d(<d)|jv�r�d&|d*<nd|jv�r�d+|d*<|gS),N�
�doctestz<BLANKLINE>��no-trim-doctest-flags)�	testsetup�testcleanup�hidecSsg|]}|���qSr!)�strip)�.0�xr!r!r"�
<listcomp>^�z%TestDirective.run.<locals>.<listcomp>r�,�default)�testnodetype�groups�test)�py�pythonZpycon�languageZpycon3�testcoder9Zpython3�
testoutputZnone�options)r(r<� r%z+-z"missing '+' or '-' in '%s' option.)�linez'%s' is not a valid option.�+�	pyversion�.cSsg|]}t|��qSr!)�str)r/�vr!r!r"r1�r2�ZSKIPTz$'%s' is not a valid pyversion option�skipif�trim-doctest-flagsZ
trim_flagsF)�joinZcontent�name�blankline_re�sub�
doctestopt_re�searchr=r�
literal_block�commentZ	arguments�splitZset_source_info�configZhighlight_language�replace�stateZdocumentZreporter�warningr�linenor(ZOPTIONFLAGS_BY_NAME�sys�version_infor#r)
�self�coder7Znodetyper6�node�option_strings�option�prefixZoption_name�flagrZpython_versionr!r!r"�runLs�









�

�



�
zTestDirective.runN)�__name__�
__module__�__qualname__�__doc__Zhas_contentZrequired_argumentsZoptional_argumentsZfinal_argument_whitespacer	rr_r!r!r!r"r$Bsr$c@s eZdZUdejiZeed<dS)�TestsetupDirectiverF�option_specN�r`rarbr�unchanged_requiredrer�__annotations__r!r!r!r"rd�s
�rdc@s eZdZUdejiZeed<dS)�TestcleanupDirectiverFreNrfr!r!r!r"ri�s
�ric@s4eZdZUejejejejejejd�Zee	d<dS)�DoctestDirective�r-r*r=rArFrGreN�
r`rarbrr^Z	unchangedrgrerrhr!r!r!r"rj�s
�rjc@s0eZdZUejejejejejd�Zeed<dS)�TestcodeDirective)r-r*rArFrGreN)	r`rarbrr^rgrerrhr!r!r!r"rm�s
�rmc@s4eZdZUejejejejejejd�Zee	d<dS)�TestoutputDirectiverkreNrlr!r!r!r"rn�s
�rnc@s>eZdZedd�dd�Zd
dedd�dd	�Zed
�dd�ZdS)�	TestGroupN)rIr cCs||_g|_g|_g|_dS�N)rI�setup�tests�cleanup)rXrIr!r!r"�__init__�szTestGroup.__init__F�TestCode)rY�prependr cCs�|jdkr,|r|j�d|�q�|j�|�n�|jdkrD|j�|�nt|jdkr^|j�|g�nZ|jdkrz|j�|dg�n>|jdkr�|jr�t|jd�dkr�||jdd	<nttd
���dS)Nr+rr,r(r;r<����r%zinvalid TestCode type)	�typerq�insert�appendrsrr�len�RuntimeErrorr)rXrYrvr!r!r"�add_code�s




zTestGroup.add_coder&cCsd|j|j|j|jfS)Nz2TestGroup(name=%r, setup=%r, cleanup=%r, tests=%r))rIrqrsrr�rXr!r!r"�__repr__�s�zTestGroup.__repr__)F)r`rarbrCrt�boolr~r�r!r!r!r"ro�sroc@s4eZdZdeeeeedd�dd�Zed�dd�ZdS)	ruN)rYry�filenamerUr=r cCs&||_||_||_||_|pi|_dSrp�rYryr�rUr=)rXrYryr�rUr=r!r!r"rt�s
zTestCode.__init__r&cCsd|j|j|j|j|jfS)Nz4TestCode(%r, %r, filename=%r, lineno=%r, options=%r)r�rr!r!r"r��s�zTestCode.__repr__)N)r`rarbrC�intrrtr�r!r!r!r"ru�s
��rucsDeZdZdeeeeefd��fdd�
Zd	ee	e	d�dd�Z
�ZS)
�SphinxDocTestRunnerN)�out�verboser csBt�}tj}|t_zt��|�}W|t_n|t_0||���|Srp)rrV�stdout�super�	summarize�getvalue)rXr�r�Z	string_ioZ
old_stdout�res��	__class__r!r"r��szSphinxDocTestRunner.summarize)r��module_globalsr cCsh|j�|�}|r\|�d�|jjkr\z|jjt|�d��}WntyNYn0|j�	d�S|�
||�S)NrIZ
examplenumT)Z%_DocTestRunner__LINECACHE_FILENAME_RE�match�groupr7rI�examplesr��
IndexError�source�
splitlinesZsave_linecache_getlines)rXr�r��m�exampler!r!r"�*_DocTestRunner__patched_linecache_getlinessz>SphinxDocTestRunner._DocTestRunner__patched_linecache_getlines)N)N)r`rarbrr�rr�r�rCrr��
__classcell__r!r!r�r"r��s
�
��r�c@seZdZdZdZed�Zdd�dd�Zedd�d	d
�Z	edd�dd�Z
d)eeed
�dd�Zeed�dd�Z
dd�dd�Zd*eeeeedd�dd�Zeeed�dd�Zeeed�dd��Zeed�dd�Zeedd �d!d"�Zeeeeeed#�d$d%�Zedd&�d'd(�ZdS)+�DocTestBuilderz2
    Runs test snippets in the documentation.
    r(zZTesting of doctests in the sources finished, look at the results in %(outdir)s/output.txt.Nr&cCs�|jj|_|jt_|jjtjdd�<d|_d|_	d|_
d|_d|_d|_
d|_t�d�}tt�|jd�ddd�|_|j�d|d	t|�f�dS)
Nr�singlez%Y-%m-%d %H:%M:%Sz
output.txt�wzutf-8)�encodingzJResults of doctest builder run on %s
==================================%s
�=)rQ�doctest_default_flags�opt�compiler(�doctest_pathrVrry�total_failures�total_tries�setup_failures�setup_tries�cleanup_failures�
cleanup_tries�time�strftime�openrHZoutdir�outfile�writer|)rX�dater!r!r"�inits

�zDocTestBuilder.init)�textr cCstj|dd�|j�|�dS�NT)Znonl)�logger�infor�r��rXr�r!r!r"�_out;szDocTestBuilder._outcCs:|jjs|jjrt�|�ntj|dd�|j�|�dSr�)�app�quietZwarningiserrorr�rTr�r�r�r�r!r!r"�	_warn_out?szDocTestBuilder._warn_out)�docname�typr cCsdS)Nr)r!)rXr�r�r!r!r"�get_target_uriFszDocTestBuilder.get_target_uricCs|jjSrp)�envZ
found_docsrr!r!r"�get_outdated_docsIsz DocTestBuilder.get_outdated_docsc	Cszttd�dd�}|j||j�|j||j�|j||j�|j||j�f}|�d|�|j��|jsn|jsn|jrvd|j	_
dS)N)rDr cSs|dkrdSdS)Nr%�sr)r!)rDr!r!r"r�Nsz DocTestBuilder.finish.<locals>.sz}
Doctest summary
===============
%5d test%s
%5d failure%s in tests
%5d failure%s in setup code
%5d failure%s in cleanup code
r%)r�rCr�r�r�r�r�r��closer�Z
statuscode)rXr��replr!r!r"�finishLs��
zDocTestBuilder.finish�update)�build_docnames�updated_docnames�methodr cCsH|durt|jj�}t�td��|D]}|j�|�}|�||�q&dS)Nzrunning tests...)�sortedr�Zall_docsr�r�rZget_doctree�test_doc)rXr�r�r�r��doctreer!r!r"r�aszDocTestBuilder.write)rZr�r cCsJz"t|j|jj�jddd�d}Wn"tyD|jj|dd�}Yn0|S)zsTry to get the file which actually contains the doctest, not the
        filename of the document it's included in.�:docstring of r%)�maxsplitrN)�base)rr�r�Zsrcdir�rsplit�	ExceptionZdoc2path)rXrZr�r�r!r!r"�get_filename_for_nodels��z$DocTestBuilder.get_filename_for_node�rZr cCs0dt�|jpd�vrdS|jdur,|jdSdS)z0Get the real line number or admit we don't know.r�r)Nr%)r�basenamer�r?�rZr!r!r"�get_line_numbervs


zDocTestBuilder.get_line_numbercCsVd|vrdS|d}i}|jjr.t|jj|�t||�}|jjrNt|jj|�|SdS)NrFF)rQ�doctest_global_setup�exec�eval�doctest_global_cleanup)rXrZ�	condition�contextZshould_skipr!r!r"�skipped�s
zDocTestBuilder.skipped)r�r�r c	Cs�i}g}td|jd�|_td|jd�|_td|jd�|_|jj|j_|jj|j_|jjrjtt	d�dd�}ntt	d�dd�}|�
|�D]�}|�|�r�q�d|vr�|dn|��}|�
||�}|�|�}	|s�t�td�|�d	d
�||	�t||�d	d
�||	|�d�d�}
|�d
dg�}d|v�r&|�|
�q�|D]*}||v�rDt|�||<||�|
��q*q�|D] }
|��D]}
|
�|
��qh�q\|jj�r�t|jjdddd�}
|��D]}
|
j|
dd��q�|jj�r�t|jjdddd�}
|��D]}
|
�|
��q�|�s�dS|�d|dt|�f�|��D]}
|�|
��q|jj|jdd�\}}|j|7_|j|7_|jj �r�|jj|jdd�\}}|j!|7_!|j"|7_"|jj �r�|jj|jdd�\}}|j#|7_#|j$|7_$dS)NF)r�Zoptionflagsr�cSs&t|tjtjf�rd|vp$t|tj�S�Nr5)�
isinstancerrNrOZ
doctest_blockr�r!r!r"r��s
�
�z*DocTestBuilder.test_doc.<locals>.conditioncSst|tjtjf�od|vSr�)r�rrNrOr�r!r!r"r��s�r7z#no code/output in %s block at %s:%sr5r(r=)ryr�rUr=r6r4�*r+r)r�rUT)rvr,z
Document: %s
----------%s
�-)r�)%r�r��setup_runner�test_runner�cleanup_runnerZ_fakeoutrQ�doctest_test_doctest_blocksrr��findallr�Zastextr�r�r�rTr�getrur{ror~�valuesr�r�r�r|�
test_groupr�r�r�Ztriesr�r�r�r�)rXr�r�r6Zadd_to_all_groupsr�rZr�r�Zline_numberrYZnode_groupsZ	groupnamer�Zres_fZres_tr!r!r"r��s����



��



�
��


�
zDocTestBuilder.test_doc)rYrIry�flags�dont_inheritr cCst|||j||�Srp)r�ry)rXrYrIryr�r�r!r!r"r��szDocTestBuilder.compile)r�r c
s�i�tttttd����fdd�}|�j�jd�s8dS�jD�]x}t|�dkr�z*t�	|dj
i�j|dj|dj
�}Wn@ty�tjtd�|dj
|dj|dj
fd�Yq>Yn0|js�q>|jD]$}|dj��}|�|j�||_q�d	�_n�|d�r|dj
nd
}|d�r$|djni}d|tj<tj�|�}	|	�rP|	�d�}
nd}
tj|dj
||
|dj
|d
�}t�|gi�j|dj|dj
d�}d�_�|_�jj |�j!dd�q>|�j"�j#d�dS)N)�runner�	testcodes�whatr cs�g}|D]"}tj|jd|jd�}|�|�q|s4dSt�|id�j|f|djdd�}�|_|j	}d�_
|j|�jdd�|j	|kr�dSdS)	Nr))rUTz%s (%s code)rr�F�r�Zclear_globs)
r(�ExamplerYrUr{�DocTestrIr��globsZfailuresryr_r�)r�r�r�r�r;r�Zsim_doctestZold_f�r��nsrXr!r"�run_setup_cleanup�s"�
z4DocTestBuilder.test_group.<locals>.run_setup_cleanuprqr%rz!ignoring invalid doctest code: %r)�locationr�r)T�msg)�exc_msgrUr=r�Fr�rs)$rr	rur�r�rqrrr|�parserZget_doctestrYrIr�rUr�r�rTrr�r=�copyr�ryr(ZDONT_ACCEPT_BLANKLINEZ
_EXCEPTION_REr�r�r�r�r�r�r_r�r�rs)rXr�r�rYr7r�Znew_opt�outputr=r�r�r!r�r"r��sN ��



��zDocTestBuilder.test_group)N)r�)r`rarbrcrIr�epilogr�rCr�r�r�rr�r�rr
r�rr��staticmethodr�r�rr�r�r�rr�ror�r!r!r!r"r�s(��

Nr�r)r�r cCs�|�dt�|�dt�|�dt�|�dt�|�dt�|�t�|�dgd�|�dd	d�|�d
dd�|�ddd�|�d
t	j
t	jBt	jBd�t
jdd�S)Nr+r,r(r;r<r�Fr�r4r�r)r�r�T)rZparallel_read_safe)Z
add_directiverdrirjrmrnZadd_builderr�Zadd_config_valuer(ZDONT_ACCEPT_TRUE_FOR_1�ELLIPSISZIGNORE_EXCEPTION_DETAIL�sphinxZ__display_version__)r�r!r!r"rq,s 
�rq)Jrcr(�rerVr��ior�osr�typingrrrrrr	r
rrr
ZdocutilsrZdocutils.nodesrrrZdocutils.parsers.rstrZpackaging.specifiersrrZpackaging.versionrr�Zsphinx.buildersrZ
sphinx.localerZsphinx.utilrZsphinx.util.consolerZsphinx.util.docutilsrZsphinx.util.osutilrZsphinx.util.typingrZsphinx.applicationrZ	getLoggerr`r�r��	MULTILINErJrLrCr�r#r$rdrirjrmrnZ
DocTestParserr�roruZ
DocTestRunnerr�r�rqr!r!r!r"�<module>sP0
W
 

Youez - 2016 - github.com/yon3zu
LinuXploit