B
ÕöeP® ã @ sZ d Z ddlmZmZ ddlmZmZ G dd„ deƒZG dd„ deƒZ G dd „ 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)Úhtmlr c @ s e Zd Zdd„ ZdS )ÚDocumentTypec C s || _ || _|| _d S )N)ÚnameÚpublicIdÚsystemId)Úselfr r r © r
úJ/opt/alt/python37/lib64/python3.7/site-packages/lxml/html/_html5builder.pyÚ__init__ s zDocumentType.__init__N)Ú__name__Ú
__module__Ú__qualname__r r
r
r
r r s r c @ s e Zd Zdd„ Zdd„ ZdS )ÚDocumentc C s d | _ g | _d S )N)Ú_elementTreeÚ
childNodes)r r
r
r r s zDocument.__init__c C s | j ¡ |j¡ d S )N)r ZgetrootZaddnextÚ_element)r Úelementr
r
r ÚappendChild s zDocument.appendChildN)r
r r r r r
r
r
r r s r c @ sZ e Zd ZeZeZdZdZeZ dd„ Z
dd„ Zdd„ Zdd „ Z
d
d„ Zddd
„Zdd„ ZdS )ÚTreeBuilderNc O sD t jtdd�}t jtdd�}|j| _|j| _tj j
| f|ž|Ž d S )NF)ZfullTree)Úetree_buildersZgetETreeModuler r ZElementÚelementClassÚCommentÚcommentClassr r r )r ÚargsÚkwargsZhtml_builderZ
etree_builderr
r
r r ' s
zTreeBuilder.__init__c C s" t j | ¡ d| _g | _d | _d S )NF)r r ÚresetÚrootInsertedÚinitialCommentsÚdoctype)r r
r
r r . s zTreeBuilder.resetc C s | j jS )N)Údocumentr )r r
r
r ÚgetDocument4 s zTreeBuilder.getDocumentc C sF g }| j d j}|jr"| |j¡ | | ¡ ¡ |jrB| |j¡ |S )Nr )ÚopenElementsr ÚtextÚappendÚextendZgetchildrenÚtail)r Zfragmentr r
r
r ÚgetFragment7 s zTreeBuilder.getFragmentc C s | |||¡}|| _d S )N)ÚdoctypeClassr )r r r r r r
r
r Ú
insertDoctypeA s zTreeBuilder.insertDoctypec C s( | j s| j |¡ ntj | ||¡ d S )N)r r r% r r Ú
insertComment)r ÚdataÚparentr
r
r r+ E s zTreeBuilder.insertCommentc C sä g }| j r`| j jr`| d| j j ¡ | j jd k s<| j jd k rV| d| j j| j jf ¡ | d¡ | d¡ t d |¡¡}x| jD ]}| t
|¡¡ q‚W | ¡ | _
| ¡ | j
_| |¡}||_| j
j |¡ | j |¡ d| _d S )Nzz
Ú T)r r r% r r r Z
fromstringÚjoinr Zaddpreviousr r Ú
documentClassr! Zgetroottreer r r r r# r )r r ZbufÚrootÚcommentZroot_elementr
r
r Ú
insertRootK s$
zTreeBuilder.insertRoot)N)r
r r r r1 r r) r r Z
fragmentClassr r r" r( r* r+ r4 r
r
r
r r s
r N)Ú__doc__Zhtml5lib.treebuildersr r r Zlxmlr Úobjectr r r r
r
r
r Ú