Current File : //usr/lib/python3.6/site-packages/bs4/builder/__pycache__/_lxml.cpython-36.pyc
3

6]}%�@s�ddgZyddlmZWn.ek
rFZzddlmZWYddZ[XnXddlmZddlmZddl	m
Z
ddlmZm
Z
mZmZmZdd	lmZmZmZmZmZmZmZdd
lmZdZGdd�de�ZGd
d�dee�ZdS)�LXMLTreeBuilderForXML�LXMLTreeBuilder�)�CallableN)�BytesIO)�StringIO)�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�/usr/lib/python3.6/_lxml.py�default_parser5s
z$LXMLTreeBuilderForXML.default_parsercCs&|j|�}t|t�r"||d|d�}|S)NF)rrr)r�
isinstancer)rr�parserrrr�
parser_for=s

z LXMLTreeBuilderForXML.parser_forNcCs,||_|dk	rt|�|_d|_|jg|_dS)N)r�set�empty_element_tags�soup�DEFAULT_NSMAPS�nsmaps)rr r#rrr�__init__Fs

zLXMLTreeBuilderForXML.__init__cCs0|ddkr$t|dd�jdd��Sd|fSdS)Nr�{��})�tuple�split)r�tagrrr�	_getNsTagPszLXMLTreeBuilderForXML._getNsTagc	cs�|j}|rt|_nt|_t|t�r2|d|dfVt|t�rP|jd�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_classrr�str�encoderZ	encodings�markup)	rr4Zuser_specified_encodingZexclude_encodingsZdocument_declared_encodingZis_htmlZ
try_encodingsZdetectorrrrr�prepare_markupXs



z$LXMLTreeBuilderForXML.prepare_markupcCs�t|t�rt|�}nt|t�r&t|�}|j|j�}y`|j|jj	�|_
|j
j|�x4t|�dkr�|j|j�}t|�dkrR|j
j|�qRW|j
j
�Wn6tttjfk
r�}ztt|���WYdd}~XnXdS)Nr)r�bytesrr2r�read�
CHUNK_SIZEr!r$�original_encodingr �feed�len�close�UnicodeDecodeError�LookupErrorr�ParserErrorr)rr4�data�errrr:}s


zLXMLTreeBuilderForXML.feedcCs|jg|_dS)N)r%r&)rrrrr<�szLXMLTreeBuilderForXML.closecCs*t|�}d}t|�dkr4t|j�dkr4|jjd�nht|�dkr�tdd�t|j��D��}|jj|�|j�}x,t|j��D]\}}td|d�}|||<q|Wi}	xVt|j��D]F\}
}|j|
�\}}
|dkr�||	|
<q�|j	|�}t||
|�}
||	|
<q�W|	}|j|�\}}|j	|�}|j
j||||�dS)Nrr)css|]\}}||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�attrrDrrr�start�s0



zLXMLTreeBuilderForXML.startcCs<|dkrdSx*t|j�D]}|dk	r||kr||SqWdS)z9Find the currently active prefix for the given namespace.N)�reversedr&)rrPrNrrrrK�sz+LXMLTreeBuilderForXML._prefix_for_namespacecCs�|jj�|jjd}|j|�\}}d}|dk	r^x,t|j�D]}|dk	r<||kr<||}Pq<W|jj||�t|j�dkr�|jj�dS)Nr)���)	r$�endDataZtagStackr.rSr&Z
handle_endtagr;�pop)rrLZ
completed_tagrPrMrNrrr�end�s
zLXMLTreeBuilderForXML.endcCs0|jj�|jj|d|�|jj|j�dS)N� )r$rU�handle_datar1)rrr@rrr�pi�s
zLXMLTreeBuilderForXML.picCs|jj|�dS)N)r$rY)r�contentrrrr@�szLXMLTreeBuilderForXML.datacCs(|jj�tj|||�}|jj|�dS)N)r$rUr	Zfor_name_and_idsZobject_was_parsed)rrLZpubid�system�doctyperrrr]�s
zLXMLTreeBuilderForXML.doctypecCs&|jj�|jj|�|jjt�dS)z#Handle comments as Comment objects.N)r$rUrYr)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_CLASSr0rr1�NAME�ALTERNATE_NAMES�LXMLrr
r�featuresr8r%rr!r'r.r5r:r<rRrKrWrZr@r]r^r`rrrrr#s2	


#(	c@sFeZdZeZdgZeeeeegZ	dZ
eZdd�Z
dd�Zdd�Zd	S)
rz	lxml-htmlFcCstjS)N)rZ
HTMLParser)rrrrrr�szLXMLTreeBuilder.default_parsercCsj|jj}y&|j|�|_|jj|�|jj�Wn6tttj	fk
rd}zt
t|���WYdd}~XnXdS)N)r$r9r!r r:r<r=r>rr?rr2)rr4rrArrrr:�szLXMLTreeBuilder.feedcCsd|S)zSee `TreeBuilder`.z<html><body>%s</body></html>r)rr_rrrr`sz)LXMLTreeBuilder.test_fragment_to_documentN)rarbrcrfrdrerr
rrgr0rr1rr:r`rrrrr�s
)�__all__�collections.abcr�ImportErrorrA�collections�iorrrrZbs4.elementrr	r
rrZbs4.builderr
rrrrrrZ
bs4.dammitrrfrrrrrr�<module>s$L
Page not found – Hello World !