HEX
Server: LiteSpeed
System: Linux standart9.isimtescil.net 3.10.0-962.3.2.lve1.5.26.7.el7.x86_64 #1 SMP Wed Oct 2 07:53:12 EDT 2019 x86_64
User: karalev (5310)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //opt/alt/python37/lib/python3.7/site-packages/bs4/builder/__pycache__/_lxml.cpython-37.pyc
B

F.�`�$�@s�ddgZddlmZddlmZddlZddlmZddlmZm	Z	m
Z
mZmZddl
mZmZmZmZmZmZmZdd	lmZd
ZGdd�de�ZGdd�dee�ZdS)
�LXMLTreeBuilderForXML�LXMLTreeBuilder�)�BytesIO)�StringION)�etree)�Comment�Doctype�NamespacedAttribute�ProcessingInstruction�XMLProcessingInstruction)�FAST�HTML�HTMLTreeBuilder�
PERMISSIVE�ParserRejectedMarkup�TreeBuilder�XML)�EncodingDetector�lxmlc@s�eZdZejZdZeZdZ	dgZ
e	eee
egZdZddiZdd�Zdd	�Zd%dd�Zd
d�Zd&dd�Zdd�Zdd�Zifdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Z d
S)'rTzlxml-xmlZxmliz$http://www.w3.org/XML/1998/namespacecCs"|jdk	r|jStj|dd|d�S)NFT)�target�strip_cdataZrecover�encoding)�_default_parserr�	XMLParser)�selfr�r�B/opt/alt/python37/lib/python3.7/site-packages/bs4/builder/_lxml.py�default_parser1s
z$LXMLTreeBuilderForXML.default_parsercCs(|�|�}t|tj�r$||d|d�}|S)NF)rrr)r�
isinstance�collections�Callable)rr�parserrrr�
parser_for9s
z LXMLTreeBuilderForXML.parser_forNcCs,||_|dk	rt|�|_d|_|jg|_dS)N)r�set�empty_element_tags�soup�DEFAULT_NSMAPS�nsmaps)rr!r$rrr�__init__Bs

zLXMLTreeBuilderForXML.__init__cCs0|ddkr$t|dd��dd��Sd|fSdS)Nr�{��})�tuple�split)r�tagrrr�	_getNsTagLszLXMLTreeBuilderForXML._getNsTagc	cs�|j}|rt|_nt|_t|t�r2|d|dfVt|t�rP|�d�d|dfV||g}t||||�}x|jD]}|j	||dfVqnWdS)z�
        :yield: A series of 4-tuples.
         (markup, encoding, declared encoding,
          has undergone character replacement)

        Each 4-tuple represents a strategy for parsing the document.
        NF�utf8)
�is_xmlr
�processing_instruction_classrr�str�encoderZ	encodings�markup)	rr5Zuser_specified_encodingZexclude_encodingsZdocument_declared_encodingZis_htmlZ
try_encodingsZdetectorrrrr�prepare_markupTs



z$LXMLTreeBuilderForXML.prepare_markupc
Cs�t|t�rt|�}nt|t�r&t|�}|�|j�}y`|�|jj	�|_
|j
�|�x4t|�dkr�|�|j�}t|�dkrR|j
�|�qRW|j
�
�Wn6tttjfk
r�}ztt|���Wdd}~XYnXdS)Nr)r�bytesrr3r�read�
CHUNK_SIZEr"r%�original_encodingr!�feed�len�close�UnicodeDecodeError�LookupErrorr�ParserErrorr)rr5�data�errrr;ys


zLXMLTreeBuilderForXML.feedcCs|jg|_dS)N)r&r')rrrrr=�szLXMLTreeBuilderForXML.closecCst|�}d}t|j�dkr(|j�d�nht|�dkr�tdd�t|���D��}|j�|�|��}x,t|���D]\}}td|d�}|||<qpWi}	xVt|���D]F\}
}|�|
�\}}
|dkr�||	|
<q�|�	|�}t||
|�}
||	|
<q�W|	}|�|�\}}|�	|�}|j
�||||�dS)Nr*rcss|]\}}||fVqdS)Nr)�.0�key�valuerrr�	<genexpr>�sz.LXMLTreeBuilderForXML.start.<locals>.<genexpr>Zxmlnszhttp://www.w3.org/2000/xmlns/)�dictr<r'�append�list�items�copyr	r/�_prefix_for_namespacer%Zhandle_starttag)r�nameZattrsZnsmap�nsprefix�inverted_nsmap�prefix�	namespaceZ	attributeZ	new_attrs�attrrErrr�start�s0



zLXMLTreeBuilderForXML.startcCs<|dkrdSx*t|j�D]}|dk	r||kr||SqWdS)z9Find the currently active prefix for the given namespace.N)�reversedr')rrQrOrrrrL�sz+LXMLTreeBuilderForXML._prefix_for_namespacecCs�|j��|jjd}|�|�\}}d}|dk	r^x,t|j�D]}|dk	r<||kr<||}Pq<W|j�||�t|j�dkr�|j��dS)N���r*)	r%�endDataZtagStackr/rTr'Z
handle_endtagr<�pop)rrMZ
completed_tagrQrNrOrrr�end�s
zLXMLTreeBuilderForXML.endcCs0|j��|j�|d|�|j�|j�dS)N� )r%rV�handle_datar2)rrrArrr�pi�s
zLXMLTreeBuilderForXML.picCs|j�|�dS)N)r%rZ)r�contentrrrrA�szLXMLTreeBuilderForXML.datacCs(|j��t�|||�}|j�|�dS)N)r%rVrZfor_name_and_idsZobject_was_parsed)rrMZpubid�system�doctyperrrr^�s
zLXMLTreeBuilderForXML.doctypecCs&|j��|j�|�|j�t�dS)z#Handle comments as Comment objects.N)r%rVrZr)rr\rrr�comment�s
zLXMLTreeBuilderForXML.commentcCsd|S)zSee `TreeBuilder`.z)<?xml version="1.0" encoding="utf-8"?>
%sr)r�fragmentrrr�test_fragment_to_document�sz/LXMLTreeBuilderForXML.test_fragment_to_document)NN)NNN)!�__name__�
__module__�__qualname__rrZDEFAULT_PARSER_CLASSr1rr2�NAME�ALTERNATE_NAMES�LXMLrrr�featuresr9r&rr"r(r/r6r;r=rSrLrXr[rAr^r_rarrrrrs2	


#(	c@sFeZdZeZdgZeeeeegZ	dZ
eZdd�Z
dd�Zdd�Zd	S)
rz	lxml-htmlFcCstjS)N)rZ
HTMLParser)rrrrrr�szLXMLTreeBuilder.default_parserc
Csj|jj}y&|�|�|_|j�|�|j��Wn6tttj	fk
rd}zt
t|���Wdd}~XYnXdS)N)r%r:r"r!r;r=r>r?rr@rr3)rr5rrBrrrr;�szLXMLTreeBuilder.feedcCsd|S)zSee `TreeBuilder`.z<html><body>%s</body></html>r)rr`rrrrasz)LXMLTreeBuilder.test_fragment_to_documentN)rbrcrdrgrerfr
rrrhr1r
r2rr;rarrrrr�s
)�__all__�iorrrrrZbs4.elementrrr	r
rZbs4.builderrr
rrrrrZ
bs4.dammitrrgrrrrrr�<module>s$L