Your IP : 3.18.112.171


Current Path : /opt/alt/python37/lib64/python3.7/site-packages/lxml/html/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/site-packages/lxml/html/__pycache__/_html5builder.cpython-37.pyc

B

�eP��@sZdZddlmZmZddlmZmZGdd�de�ZGdd�de�Z	Gdd	�d	ej
�Z
d
S)z�
Legacy module - don't use in new code!

html5lib now has its own proper implementation.

This module implements a tree builder for html5lib that generates lxml
html element trees.  This module uses camelCase as it follows the
html5lib style guide.
�)�_base�etree)�htmlrc@seZdZdd�ZdS)�DocumentTypecCs||_||_||_dS)N)�name�publicId�systemId)�selfrrr�r
�J/opt/alt/python37/lib64/python3.7/site-packages/lxml/html/_html5builder.py�__init__szDocumentType.__init__N)�__name__�
__module__�__qualname__rr
r
r
rrsrc@seZdZdd�Zdd�ZdS)�DocumentcCsd|_g|_dS)N)�_elementTree�
childNodes)r	r
r
rrszDocument.__init__cCs|j���|j�dS)N)rZgetrootZaddnext�_element)r	�elementr
r
r�appendChildszDocument.appendChildN)r
rrrrr
r
r
rrsrc@sZeZdZeZeZdZdZeZ	dd�Z
dd�Zdd�Zdd	�Z
d
d�Zddd
�Zdd�ZdS)�TreeBuilderNcOsDtjtdd�}tjtdd�}|j|_|j|_tj	j
|f|�|�dS)NF)ZfullTree)�etree_buildersZgetETreeModulerrZElement�elementClass�Comment�commentClassrrr)r	�args�kwargsZhtml_builderZ
etree_builderr
r
rr's
zTreeBuilder.__init__cCs"tj�|�d|_g|_d|_dS)NF)rr�reset�rootInserted�initialComments�doctype)r	r
r
rr.szTreeBuilder.resetcCs|jjS)N)�documentr)r	r
r
r�getDocument4szTreeBuilder.getDocumentcCsFg}|jdj}|jr"|�|j�|�|���|jrB|�|j�|S)Nr)�openElementsr�text�append�extendZgetchildren�tail)r	�fragmentrr
r
r�getFragment7szTreeBuilder.getFragmentcCs|�|||�}||_dS)N)�doctypeClassr )r	rrrr r
r
r�
insertDoctypeAszTreeBuilder.insertDoctypecCs(|js|j�|�ntj�|||�dS)N)rrr%rr�
insertComment)r	�data�parentr
r
rr,EszTreeBuilder.insertCommentcCs�g}|jr`|jjr`|�d|jj�|jjdk	s<|jjdk	rV|�d|jj|jjf�|�d�|�d�t�d�|��}x|jD]}|�	t
�|��q�W|��|_
|��|j
_|�|�}||_|j
j�|�|j�|�d|_dS)Nz<!DOCTYPE %sz PUBLIC "%s" "%s"�>z
<html></html>�T)r rr%rrrZ
fromstring�joinrZaddpreviousrr�
documentClassr!Zgetroottreerrrrr#r)r	r�buf�root�commentZroot_elementr
r
r�
insertRootKs$



zTreeBuilder.insertRoot)N)r
rrrr2rr*rrZ
fragmentClassrrr"r)r+r,r6r
r
r
rr s

rN)�__doc__Zhtml5lib.treebuildersrrr�lxmlr�objectrrrr
r
r
r�<module>	s


?>