ó
^\kdc           @` sø   d  d l  m Z m Z m Z d  d l m Z d  d l Z e j Z d d l m	 Z	 m
 Z
 d j e
 ƒ Z
 d e f d „  ƒ  YZ d	 e f d
 „  ƒ  YZ d  d l m Z e j Z e j Z e j Z e j Z e j Z e j Z d Z d e f d „  ƒ  YZ d S(   i    (   t   absolute_importt   divisiont   unicode_literals(   t	   text_typeNi   (   t   voidElementst   spaceCharactersu    t
   TreeWalkerc           B` sw   e  Z d  „  Z d „  Z d „  Z e d „ Z d „  Z d „  Z d „  Z	 d „  Z
 d d e d „ Z d	 „  Z d
 „  Z RS(   c         C` s   | |  _  d  S(   N(   t   tree(   t   selfR   (    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   __init__   s    c         C` s
   t  ‚ d  S(   N(   t   NotImplementedError(   R   (    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   __iter__   s    c         C` s   i d d 6| d 6S(   Nu   SerializeErroru   typeu   data(    (   R   t   msg(    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   error   s    c         c` s²   | d  k s- t | t ƒ s- t t | ƒ ƒ ‚ t | t ƒ sN t t | ƒ ƒ ‚ t d „  | j ƒ  Dƒ ƒ sp t ‚ i d d 6| d 6| d 6| d 6V| r® |  j t d ƒ ƒ Vn  d  S(   Nc         s` sT   |  ]J \ \ } } } | d  k s0 t | t ƒ oK t | t ƒ oK t | t ƒ Vq d  S(   N(   t   Nonet
   isinstanceR   (   t   .0t	   namespacet   namet   value(    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pys	   <genexpr>   s   u   EmptyTagu   typeu   nameu	   namespaceu   datau   Void element has children(	   R   R   R   t   AssertionErrort   typet   allt   itemsR   t   _(   R   R   R   t   attrst   hasChildren(    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   emptyTag   s    -!		c         C` s�   | d  k s- t | t ƒ s- t t | ƒ ƒ ‚ t | t ƒ sN t t | ƒ ƒ ‚ t d „  | j ƒ  Dƒ ƒ sp t ‚ i d d 6| d 6| d 6| d 6S(   Nc         s` sT   |  ]J \ \ } } } | d  k s0 t | t ƒ oK t | t ƒ oK t | t ƒ Vq d  S(   N(   R   R   R   (   R   R   R   R   (    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pys	   <genexpr>&   s   u   StartTagu   typeu   nameu	   namespaceu   data(   R   R   R   R   R   R   R   (   R   R   R   R   (    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   startTag#   s    -!	
c         C` sn   | d  k s- t | t ƒ s- t t | ƒ ƒ ‚ t | t ƒ sN t t | ƒ ƒ ‚ i d d 6| d 6| d 6i  d 6S(   Nu   EndTagu   typeu   nameu	   namespaceu   data(   R   R   R   R   R   (   R   R   R   (    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   endTag0   s    -!
c         c` sÍ   t  | t ƒ s! t t | ƒ ƒ ‚ | } | j t ƒ } | t | ƒ t | ƒ  } | rl i d d 6| d 6Vn  | } | j t ƒ } | t | ƒ } | r­ i d d 6| d 6Vn  | rÉ i d d 6| d 6Vn  d  S(   Nu   SpaceCharactersu   typeu   datau
   Characters(   R   R   R   R   t   lstripR   t   lent   rstrip(   R   t   datat   middlet   leftt   right(    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   text9   s    !c         C` s3   t  | t ƒ s! t t | ƒ ƒ ‚ i d d 6| d 6S(   Nu   Commentu   typeu   data(   R   R   R   R   (   R   R!   (    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   commentI   s    !c         C` sÀ   | d  k s- t | t ƒ s- t t | ƒ ƒ ‚ | d  k sZ t | t ƒ sZ t t | ƒ ƒ ‚ | d  k s‡ t | t ƒ s‡ t t | ƒ ƒ ‚ i d d 6| d  k	 r£ | n d d 6| d 6| d 6| d 6S(   Nu   Doctypeu   typeu    u   nameu   publicIdu   systemIdu   correct(   R   R   R   R   R   (   R   R   t   publicIdt   systemIdt   correct(    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   doctypeN   s    ---
c         C` s3   t  | t ƒ s! t t | ƒ ƒ ‚ i d d 6| d 6S(   Nu   Entityu   typeu   name(   R   R   R   R   (   R   R   (    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   entityY   s    !c         C` s   |  j  t d ƒ | ƒ S(   Nu   Unknown node type: (   R   R   (   R   t   nodeType(    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   unknown^   s    N(   t   __name__t
   __module__R	   R   R   t   FalseR   R   R   R%   R&   R   t   TrueR*   R+   R-   (    (    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyR      s   									t   RecursiveTreeWalkerc           B` s   e  Z d  „  Z d „  Z RS(   c         C` s
   t  ‚ d  S(   N(   R
   (   R   t   node(    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   walkChildrenc   s    c         c` s‚   | t  k r7 xo |  j | | | | ƒ D] } | Vq% WnG |  j | | ƒ V| rp x |  j | ƒ D] } | Vq^ Wn  |  j | ƒ Vd  S(   N(   R   R   R   R4   R   (   R   R3   R   R   R   R   t   token(    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   elementf   s    (   R.   R/   R4   R6   (    (    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyR2   b   s   	(   t   Nodeu   <#UNKNOWN#>t   NonRecursiveTreeWalkerc           B` s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` s
   t  ‚ d  S(   N(   R
   (   R   R3   (    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   getNodeDetails}   s    c         C` s
   t  ‚ d  S(   N(   R
   (   R   R3   (    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   getFirstChild€   s    c         C` s
   t  ‚ d  S(   N(   R
   (   R   R3   (    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   getNextSiblingƒ   s    c         C` s
   t  ‚ d  S(   N(   R
   (   R   R3   (    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   getParentNode†   s    c         c` sh  |  j  } xX| d  k	 rc|  j | ƒ } | d | d } } t } | t k r_ |  j | Œ  Vn	| t k r� xú |  j | Œ  D] } | Vq{ WnÛ | t k rÿ | \ } } } } | t	 k rè x% |  j
 | | | | ƒ D] } | VqÐ Wt } qh|  j | | | ƒ Vni | t k r |  j | d ƒ VnH | t k rA|  j | d ƒ Vn' | t k rVt } n |  j | d ƒ V| r€|  j | ƒ }	 n d  }	 |	 d  k	 r›|	 } q xÂ | d  k	 r_|  j | ƒ } | d | d } } | t k r| \ } } } } | t	 k r|  j | | ƒ Vqn  |  j  | k r(d  } Pn  |  j | ƒ }
 |
 d  k	 rM|
 } Pqž|  j | ƒ } qžWq Wd  S(   Ni    i   (   R   R   R9   R0   t   DOCTYPER*   t   TEXTR%   t   ELEMENTR   R   R   t   COMMENTR&   t   ENTITYR+   t   DOCUMENTR1   R-   R:   R   R;   R<   (   R   t   currentNodet   detailsR   R   R5   R   R   t
   attributest
   firstChildt   nextSibling(    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyR   ‰   sZ    					(   R.   R/   R9   R:   R;   R<   R   (    (    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyR8   |   s
   				(   t
   __future__R    R   R   t   pip._vendor.sixR   t   gettextR   t	   constantsR   R   t   joint   objectR   R2   t   xml.domR7   t   DOCUMENT_NODERB   t   DOCUMENT_TYPE_NODER=   t	   TEXT_NODER>   t   ELEMENT_NODER?   t   COMMENT_NODER@   t   ENTITY_NODERA   t   UNKNOWNR8   (    (    (    sM   /var/www/testScraper/venv/build/pip/pip/_vendor/html5lib/treewalkers/_base.pyt   <module>   s    	W						