403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Python312/Lib/site-packages/bs4/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Python312/Lib/site-packages/bs4/__pycache__/diagnose.cpython-312.pyc
�

V	�g��	��UdZdZddlZddlmZddlmZddlZddlmZm	Z	ddl
mZddlm
Z
mZmZmZmZmZerdd	lmZddlZddlZddlZddlZddlZddlZd!d
�Zd"d
ddede
ddfd�ZGd�de�Zd
eddfd�Z dZ!ee"d<dZ#ee"d<d#de$defd�Z%d$de$defd�Z&d%de$defd�Z'd&de$ddfd�Z(d'de$deddfd�Z)e*d k(r!eejVjY��yy)(z=Diagnostic functions, mainly for use when doing tech support.�MIT�N)�BytesIO)�
HTMLParser)�
BeautifulSoup�__version__)�builder_registry)�Any�IO�List�Optional�Tuple�
TYPE_CHECKING)�_IncomingMarkup�datar�returnc	��tdtz�tdtjz�gd�}|D]F}tj
D]}||jvs��'|j|�td|z��Hd|vrM|jd�	ddl	m
}td	d
jtt|j��z�d|vr	dd
l}td|jz�t#|d�r|j%�}|D]V}td|z�d}	t'||��}d}|r'td|z�tj/��td��Xy
#t$rtd�Y��wxYw#t$rtd�Y��wxYw#t($r%td|z�t+j,�Y��wxYw)z�Diagnostic suite for isolating common problems.

    :param data: Some markup that needs to be explained.
    :return: None; diagnostics are printed to standard output.
    z'Diagnostic running on Beautiful Soup %szPython version %s)�html.parser�html5lib�lxmlz;I noticed that %s is not installed. Installing it may help.rzlxml-xmlr��etreezFound lxml version %s�.z.lxml is not installed or couldn't be imported.rNzFound html5lib version %sz2html5lib is not installed or couldn't be imported.�readz#Trying to parse your markup with %sF)�featuresT�%s could not parse the markup.z#Here's what %s did with the markup:zP--------------------------------------------------------------------------------)�printr�sys�versionr�buildersr�remove�appendrr�join�map�str�LXML_VERSION�ImportErrorr�hasattrrr�	Exception�	traceback�	print_exc�prettify)	r�
basic_parsers�name�builderrr�parser�success�soups	         �.C:\Python312\Lib\site-packages\bs4/diagnose.py�diagnoser3 s���
�4�{�B�D�	�����,�.�7�M����'�0�0�	�G��w�'�'�'��	�
� � ��&��N�QU�U�
�
�������Z�(�	D�"��*�S�X�X�c�#�u�?Q�?Q�6R�-S�S�U��]�"�	H���.��1E�1E�E�G��t�V���y�y�{���
��
�4�v�=�?���	"� ���7�D��G���8�6�A�C��4�=�=�?�$�
�x��
���	D��B�C�	D���	H��F�G�	H���	"��3�f�<�>����!�	"�s6�;E(�F�"F�(E?�>E?�F�F�+G
�	G
�html�kwargsc�8�ddlm}|jdd�}t|t�r|jd�}t|t�st|�}|jf||d�|��D]-\}}t|�d|jd�d|j����/y	)
a�Print out the lxml events that occur during parsing.

    This lets you see how lxml parses a document when no Beautiful
    Soup code is running. You can use this to determine whether
    an lxml-specific problem is in Beautiful Soup's lxml tree builders
    or in lxml itself.

    :param data: Some markup.
    :param html: If True, markup will be parsed with lxml's HTML parser.
       if False, lxml's XML parser will be used.
    rr�recoverT�utf8)r4r7z, z>4N)rr�pop�
isinstancer$�encoder
r�	iterparser�tag�text)rr4r5rr7�reader�event�elements        r2�
lxml_tracerBXs�����j�j��D�)�G��$����{�{�6�"���d�B������)�%�/�/�&�W�t�W�W�PV�W�D���w�
��w�{�{�G�L�L�A�C�D�c	���eZdZdZdeddfd�Z	ddedeeeeefde	ddfd	�Z
dded
e	ddfd�Zdeddfd
�Zdeddfd�Z
deddfd�Zdeddfd�Zdeddfd�Zdeddfd�Zdeddfd�Zy)�AnnouncingParserz�Subclass of HTMLParser that announces parse events, without doing
    anything else.

    You can use this to get a picture of how html.parser sees a given
    document. The easiest way to do this is to call `htmlparser_trace`.
    �srNc��t|�y)N)r)�selfrFs  r2�_pzAnnouncingParser._pws	��
�a�rCr-�attrs�handle_empty_elementc�2�|j|�d|�d��y)N� z START�rI)rHr-rJrKs    r2�handle_starttagz AnnouncingParser.handle_starttagzs��	
���4�&��%���'�(rC�check_already_closedc�,�|jd|z�y)Nz%s ENDrN)rHr-rPs   r2�
handle_endtagzAnnouncingParser.handle_endtag�s������4�� rCrc�,�|jd|z�y)Nz%s DATArN�rHrs  r2�handle_datazAnnouncingParser.handle_data�������	�D� �!rCc�,�|jd|z�y)Nz
%s CHARREFrN�rHr-s  r2�handle_charrefzAnnouncingParser.handle_charref��������t�#�$rCc�,�|jd|z�y)Nz%s ENTITYREFrNrXs  r2�handle_entityrefz!AnnouncingParser.handle_entityref�s�������%�&rCc�,�|jd|z�y)Nz
%s COMMENTrNrTs  r2�handle_commentzAnnouncingParser.handle_comment�rZrCc�,�|jd|z�y)Nz%s DECLrNrTs  r2�handle_declzAnnouncingParser.handle_decl�rVrCc�,�|jd|z�y)Nz%s UNKNOWN-DECLrNrTs  r2�unknown_declzAnnouncingParser.unknown_decl�s�����!�D�(�)rCc�,�|jd|z�y)Nz%s PIrNrTs  r2�	handle_pizAnnouncingParser.handle_pi�s������$��rC�T)�__name__�
__module__�__qualname__�__doc__r$rIrr
r�boolrOrRrUrYr\r^r`rbrd�rCr2rErEos�����C��D��&*�	)��)��E�#�x��}�,�-�.�)�#�	)�

�)�!�#�!�T�!�T�!�"��"��"�%�3�%�4�%�'�S�'�T�'�%�3�%�4�%�"��"��"�*��*��*� �c� �d� rCrEc�:�t�}|j|�y)z�Print out the HTMLParser events that occur during parsing.

    This lets you see how HTMLParser parses a document when no
    Beautiful Soup code is running.

    :param data: Some markup.
    N)rE�feed)rr/s  r2�htmlparser_tracern�s���
�F�
�K�K��rC�aeiou�_vowels�bcdfghjklmnpqrstvwxyz�_consonants�lengthc��d}t|�D]/}|dzdk(rt}nt}|tj|�z
}�1|S)z<Generate a random word-like string.

    :meta private:
    ��r)�rangerrrp�random�choice)rsrF�i�ts    r2�rwordr|�sK��
	�A�
�6�]����q�5�A�:��A��A�	�V�]�]�1�
����
�HrCc�D�djd�t|�D��S)z@Generate a random sentence-like string.

    :meta private:
    rMc3�ZK�|]#}ttjdd�����%y�w)��	N)r|rx�randint)�.0rzs  r2�	<genexpr>zrsentence.<locals>.<genexpr>�s ����G�A�E�&�.�.��A�.�/�G�s�)+)r"rw)rss r2�	rsentencer��s��
�8�8�G��v��G�G�GrC�num_elementsc	��gd�}g}t|�D]�}tjdd�}|dk(r*tj|�}|j	d|z��H|dk(r/|j	ttjdd����||dk(s��tj|�}|j	d|z���d	d
j
|�zdzS)zDRandomly generate an invalid HTML document.

    :meta private:
    )�p�div�spanrz�b�script�tabler�z<%s>�rrvz</%s>z<html>�
z</html>)rwrxr�ryr!r�r")r��	tag_names�elementsrzry�tag_names      r2�rdocr��s���
B�I��H�
�<�
 �0������1�%���Q�;��}�}�Y�/�H��O�O�F�X�-�.�
�q�[��O�O�I�f�n�n�Q��&:�;�<�
�q�[��}�}�Y�/�H��O�O�G�h�.�/�0��d�i�i��)�)�I�5�5rCc���tdtz�t|�}tdt|�z�dddgddfD]Q}d}	t	j�}t||�t	j�}d}|s�?td
|z
fz��Sddl	m
}t	j�}|j|�t	j�}td
||z
z�ddl}|j�}t	j�}|j|�t	j�}td||z
z�y#t$r%td	|z�tj�Y��wxYw)z.Very basic head-to-head performance benchmark.z1Comparative parser benchmark on Beautiful Soup %sz3Generated a large invalid HTML document (%d bytes).rr4rrFTrz"BS4+%s parsed the markup in %.2fs.rrz$Raw lxml parsed the markup in %.2fs.Nz(Raw html5lib parsed the markup in %.2fs.)rrr��len�timerr(r)r*rr�HTMLrr�parse)	r�r�parser_namer0�ar�rrr/s	         r2�benchmark_parsersr��s?��	�>��L�N����D�	�@�3�t�9�L�N���� 0�*�m�L�Q����	"��	�	��A��$��,��	�	��A��G���7�;��A��:N�N�P�Q���	�	��A�	�J�J�t���	�	��A�	�1�Q��U�;�=��
�
 �
 �
"�F��	�	��A�
�L�L����	�	��A�	�5��Q��?�A��'�	"��3�k�A�C����!�	"�s�6E�+E.�-E.r/c��tj�}|j}t|�}t	t
||��}t
jd|||�tj|�}|jd�|jdd�y)z7Use Python's profiler on a randomly generated document.)�bs4rr/zbs4.BeautifulSoup(data, parser)�
cumulativez
_html5lib|bs4�2N)�tempfile�NamedTemporaryFiler-r��dictr��cProfile�runctx�pstats�Stats�
sort_stats�print_stats)r�r/�
filehandle�filenamer�vars�statss       r2�profiler��sp���,�,�.�J����H����D��C�d�6�2�D��O�O�5�t�T�8�L��L�L��"�E�	���\�"�	���o�r�*rC�__main__)rrrNre)�)r)i�)順)r�r)-ri�__license__r��ior�html.parserrr�rr�bs4.builderr�typingr	r
rrr
r�bs4._typingrr�rxr�r�r)rr3rjrBrEr$rnrp�__annotations__rr�intr|r�r�r�r�rf�stdinrrkrCr2�<module>r�s7��C�����"�
�*�(����+�
�
����
�5�pD�&�D�d�D�S�D�T�D�.) �z�) �X	�3�	�4�	�����*��S�*�
�#�
�c�
�H�c�H�#�H�6�s�6�c�6�, B�C� B�T� B�F+�#�+��+��+� �z���S�Y�Y�^�^�
��rC

Youez - 2016 - github.com/yon3zu
LinuXploit