ó
n
\c           @   s{   d  Z  d d l m Z m Z d d l m Z m Z d e f d     YZ d e f d     YZ	 d e j
 f d	     YZ
 d
 S(   sų   
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.
iĸĸĸĸ(   t   _baset   etree(   t   htmlR   t   DocumentTypec           B   s   e  Z d    Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   namet   publicIdt   systemId(   t   selfR   R   R   (    (    sL   /data/av2000/b2b/venv/lib/python2.7/site-packages/lxml/html/_html5builder.pyt   __init__   s    		(   t   __name__t
   __module__R   (    (    (    sL   /data/av2000/b2b/venv/lib/python2.7/site-packages/lxml/html/_html5builder.pyR      s   t   Documentc           B   s   e  Z d    Z d   Z RS(   c         C   s   d  |  _ g  |  _ d  S(   N(   t   Nonet   _elementTreet
   childNodes(   R   (    (    sL   /data/av2000/b2b/venv/lib/python2.7/site-packages/lxml/html/_html5builder.pyR      s    	c         C   s   |  j  j   j | j  d  S(   N(   R   t   getroott   addnextt   _element(   R   t   element(    (    sL   /data/av2000/b2b/venv/lib/python2.7/site-packages/lxml/html/_html5builder.pyt   appendChild   s    (   R	   R
   R   R   (    (    (    sL   /data/av2000/b2b/venv/lib/python2.7/site-packages/lxml/html/_html5builder.pyR      s   	t   TreeBuilderc           B   sh   e  Z e Z e Z d Z d Z e Z	 d    Z
 d   Z d   Z d   Z d   Z d d  Z d   Z RS(   c         O   s\   t  j t d t } t  j t d t } | j |  _ | j |  _ t	 j
 j |  | |  d  S(   Nt   fullTree(   t   etree_builderst   getETreeModuleR   t   FalseR   t   Elementt   elementClasst   Commentt   commentClassR    R   R   (   R   t   argst   kwargst   html_buildert   etree_builder(    (    sL   /data/av2000/b2b/venv/lib/python2.7/site-packages/lxml/html/_html5builder.pyR   '   s
    c         C   s/   t  j j |   t |  _ g  |  _ d  |  _ d  S(   N(   R    R   t   resetR   t   rootInsertedt   initialCommentsR   t   doctype(   R   (    (    sL   /data/av2000/b2b/venv/lib/python2.7/site-packages/lxml/html/_html5builder.pyR!   .   s    		c         C   s
   |  j  j S(   N(   t   documentR   (   R   (    (    sL   /data/av2000/b2b/venv/lib/python2.7/site-packages/lxml/html/_html5builder.pyt   getDocument4   s    c         C   se   g  } |  j  d j } | j r2 | j | j  n  | j | j    | j ra | j | j  n  | S(   Ni    (   t   openElementsR   t   textt   appendt   extendt   getchildrent   tail(   R   t   fragmentR   (    (    sL   /data/av2000/b2b/venv/lib/python2.7/site-packages/lxml/html/_html5builder.pyt   getFragment7   s    		c         C   s"   |  j  | | |  } | |  _ d  S(   N(   t   doctypeClassR$   (   R   R   R   R   R$   (    (    sL   /data/av2000/b2b/venv/lib/python2.7/site-packages/lxml/html/_html5builder.pyt   insertDoctypeA   s    c         C   s6   |  j  s |  j j |  n t j j |  | |  d  S(   N(   R"   R#   R)   R    R   t   insertComment(   R   t   datat   parent(    (    sL   /data/av2000/b2b/venv/lib/python2.7/site-packages/lxml/html/_html5builder.pyR1   E   s    	c         C   sD  g  } |  j  r |  j  j r | j d |  j  j  |  j  j d  k	 sV |  j  j d  k	 r| | j d |  j  j |  j  j f  n  | j d  n  | j d  t j d j |   } x' |  j	 D] } | j
 t j |   qŧ W|  j   |  _ | j   |  j _ |  j |  } | | _ |  j j j |  |  j j |  t |  _ d  S(   Ns   <!DOCTYPE %ss    PUBLIC "%s" "%s"t   >s   <html></html>t    (   R$   R   R)   R   R   R   R   t
   fromstringt   joinR#   t   addpreviousR   R   t   documentClassR%   t   getroottreeR   R   R   R   R'   t   TrueR"   (   R   R   t   buft   roott   commentt   root_element(    (    sL   /data/av2000/b2b/venv/lib/python2.7/site-packages/lxml/html/_html5builder.pyt
   insertRootK   s$    $	N(   R	   R
   R   R9   R   R/   R   R   R   t   fragmentClassR   R!   R&   R.   R0   R1   R@   (    (    (    sL   /data/av2000/b2b/venv/lib/python2.7/site-packages/lxml/html/_html5builder.pyR       s   				
	N(   t   __doc__t   html5lib.treebuildersR    R   R   t   lxmlR   t   objectR   R   R   (    (    (    sL   /data/av2000/b2b/venv/lib/python2.7/site-packages/lxml/html/_html5builder.pyt   <module>	   s
   
