HEX
Server: Apache
System: Linux srv1.prosuiteplus.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: prosuiteplus (1001)
PHP: 8.3.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/lxml/html/__pycache__/_html5builder.cpython-38.pyc
U

�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�9/usr/lib/python3/dist-packages/lxml/html/_html5builder.py�__init__szDocumentType.__init__N)�__name__�
__module__�__qualname__r
rrrrrsrc@seZdZdd�Zdd�ZdS)�DocumentcCsd|_g|_dSr)�_elementTree�
childNodes�r
rrrr
szDocument.__init__cCs|j���|j�dSr)rZgetrootZaddnext�_element)r
�elementrrr�appendChildszDocument.appendChildN)rrrr
rrrrrrsrc@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_builderrrrr
's
zTreeBuilder.__init__cCs"tj�|�d|_g|_d|_dS)NF)rr�reset�rootInserted�initialComments�doctyperrrrr.szTreeBuilder.resetcCs|jjSr)�documentrrrrr�getDocument4szTreeBuilder.getDocumentcCsFg}|jdj}|jr"|�|j�|�|���|jrB|�|j�|S)Nr)�openElementsr�text�append�extendZgetchildren�tail)r
Zfragmentrrrr�getFragment7szTreeBuilder.getFragmentcCs|�|||�}||_dSr)�doctypeClassr")r
rrr	r"rrr�
insertDoctypeAszTreeBuilder.insertDoctypecCs(|js|j�|�ntj�|||�dSr)r r!r'rr�
insertComment)r
�data�parentrrrr-EszTreeBuilder.insertCommentcCs�g}|jr`|jjr`|�d|jj�|jjdk	s<|jjdk	rV|�d|jj|jjf�|�d�|�d�t�d�|��}|jD]}|�	t
�|��q�|��|_
|��|j
_|�|�}||_|j
j�|�|j�|�d|_dS)Nz<!DOCTYPE %sz PUBLIC "%s" "%s"�>z
<html></html>�T)r"rr'rr	rZ
fromstring�joinr!Zaddpreviousrr�
documentClassr#Zgetroottreerrrrr%r )r
rZbuf�rootZcommentZroot_elementrrr�
insertRootKs&�




zTreeBuilder.insertRoot)N)rrrrr3rr+rrZ
fragmentClassr
rr$r*r,r-r5rrrrr s

rN)�__doc__Zhtml5lib.treebuildersrrrZlxmlr�objectrrrrrrr�<module>s