Viewing File: /opt/hc_python/lib/python3.12/site-packages/lxml/html/__pycache__/_html5builder.cpython-312.pyc

�

_��g���z�dZddlmZmZddlmZmZGd�d�ZGd�d�ZGd�d	ej�Z	y
)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��eZdZd�Zy)�DocumentTypec�.�||_||_||_y�N)�name�publicId�systemId)�selfr
rrs    �H/opt/hc_python/lib64/python3.12/site-packages/lxml/html/_html5builder.py�__init__zDocumentType.__init__s����	� ��
� ��
�N)�__name__�
__module__�__qualname__r�rrrrs��!rrc��eZdZd�Zd�Zy)�Documentc� �d|_g|_yr	)�_elementTree�
childNodes�r
s rrzDocument.__init__s�� �����rc�j�|jj�j|j�yr	)r�getroot�addnext�_element)r
�elements  r�appendChildzDocument.appendChilds%�����!�!�#�+�+�G�,<�,<�=rN)rrrrr rrrrrs���>rrc�L�eZdZeZeZdZdZeZ	d�Z
d�Zd�Zd�Z
d�Zd	d�Zd�Zy)
�TreeBuilderNc��tjtd��}tjtd��}|j|_|j|_tjj|g|��i|��y)NF)�fullTree)�etree_builders�getETreeModulerr�Element�elementClass�Comment�commentClassrr"r)r
�args�kwargs�html_builder�
etree_builders     rrzTreeBuilder.__init__'s`��%�4�4�T�E�J��&�5�5�e�e�L�
�(�0�0���)�1�1���
���"�"�4�9�$�9�&�9rc�l�tjj|�d|_g|_d|_y)NF)rr"�reset�rootInserted�initialComments�doctypers rr0zTreeBuilder.reset.s-��
������%�!���!�����rc�.�|jjSr	)�documentrrs r�getDocumentzTreeBuilder.getDocument4s���}�}�)�)�)rc��g}|jdj}|jr|j|j�|j	|j��|jr|j|j�|S)Nr)�openElementsr�text�append�extend�getchildren�tail)r
�fragmentrs   r�getFragmentzTreeBuilder.getFragment7se�����#�#�A�&�/�/���<�<��O�O�G�L�L�)�����+�+�-�.��<�<��O�O�G�L�L�)��rc�8�|j|||�}||_yr	)�doctypeClassr3)r
r
rrr3s     r�
insertDoctypezTreeBuilder.insertDoctypeAs���#�#�D�(�H�=����rc��|js|jj|�ytjj|||�yr	)r1r2r:rr"�
insertComment)r
�data�parents   rrDzTreeBuilder.insertCommentEs7��� � �� � �'�'��-����+�+�D�$��?rc��g}|jr�|jjr�|jd|jjz�|jj�|jj�@|jd|jj�d|jj�d��|jd�|jd�tjdj|��}|jD]&}|jtj|���(|j�|_
|j�|j_|j!|�}||_|jj$j|�|j&j|�d|_y)	Nz<!DOCTYPE %sz	 PUBLIC "z" "�"�>z
<html></html>�T)r3r
r:rrr�
fromstring�joinr2�addpreviousrr)�
documentClassr5�getroottreerr(rrr8r1)r
r
�buf�root�comment�root_elements      r�
insertRootzTreeBuilder.insertRootKsK�����<�<�D�L�L�-�-��J�J�~����(9�(9�9�:��|�|�$�$�0�D�L�L�4I�4I�4U��
�
�$�,�,�2G�2G�26�,�,�2G�2G�I�J��J�J�s�O��
�
�?�#����r�w�w�s�|�,���+�+�G����U�]�]�7�3�4�,��*�*�,��
�%)�%5�%5�%7��
�
�"��(�(��.�� $����
�
� � �'�'��5���� � ��.� ��rr	)rrrrrNrrAr(r*�
fragmentClassrr0r6r?rBrDrTrrrr"r" s?���M��L��L��L��M�:��*���@�!rr"N)
�__doc__�html5lib.treebuildersrrr%�lxmlrrrr"rrr�<module>rYs;���A��!�!�>�>�D!�%�#�#�D!r
Back to Directory File Manager