Sindbad~EG File Manager

Current Path : /usr/lib/python3.6/site-packages/html5lib/treewalkers/__pycache__/
Upload File :
Current File : //usr/lib/python3.6/site-packages/html5lib/treewalkers/__pycache__/__init__.cpython-36.pyc

3

B;�W��@sbdZddlmZmZmZddlmZddlmZdddd	d
dgZ	iZ
dd
d�Zdd�Zdd�Z
dS)a�A collection of modules for iterating through different kinds of
tree, generating tokens identical to those produced by the tokenizer
module.

To create a tree walker for a new type of tree, you need to do
implement a tree walker object (called TreeWalker by convention) that
implements a 'serialize' method taking a tree as sole argument and
returning an iterator generating tokens.
�)�absolute_import�division�unicode_literals�)�	constants)�
default_etree�
getTreeWalker�pprint�dom�etree�genshi�
etree_lxmlNcKs�|j�}|tkr�|dkr0ddlm}|jt|<np|dkrPddlm}|jt|<nP|dkrpddlm}|jt|<n0|dkr�dd	lm}|d
kr�t}|j	|f|�jStj
|�S)a�Get a TreeWalker class for various types of tree with built-in support

    Args:
        treeType (str): the name of the tree type required (case-insensitive).
            Supported values are:

            - "dom": The xml.dom.minidom DOM implementation
            - "etree": A generic walker for tree implementations exposing an
                       elementtree-like interface (known to work with
                       ElementTree, cElementTree and lxml.etree).
            - "lxml": Optimized walker for lxml.etree
            - "genshi": a Genshi stream

        Implementation: A module implementing the tree type e.g.
            xml.etree.ElementTree or cElementTree (Currently applies to the
            "etree" tree type only).
    r
�)r
r)rZlxml)r
r)rN)�lower�treeWalkerCache�r
Z
TreeWalkerrr
rrZgetETreeModule�get)ZtreeType�implementation�kwargsr
rr
r�r�/usr/lib/python3.6/__init__.pyrs"ccslg}xL|D]D}|d}|dkr.|j|d�q
|rHddj|�d�Vg}|Vq
W|rhddj|�d�VdS)N�type�
Characters�SpaceCharacters�datar)rr)rr)�append�join)�tokensZpendingCharacters�tokenrrrr�concatenateCharacterTokens<s

rcCslg}d}�xVt|�D�]H}|d}|d k�r&|dr~|dtjdkr~|dtjkrdtj|d}n|d}d||df}n|d}|jd	d
||f�|d7}|d}xdt|j��D]T\\}}	}
|r�|tjkr�tj|}n|}d||	f}n|	}|jd
d
|||
f�q�W|dk�r^|d8}q|dk�r:|d8}q|dk�r`|jdd
||df�q|dk�r|d�r�|d�r�|jdd
||d|d|d�r�|dndf�nF|d�r�|jdd
||d|df�n|jdd
||df�n|jdd
|f�q|dk�r8|jdd
||df�q|dk�rRd�s^td��qtd|��qWdj	|�S)!zPretty printer for tree walkersrr�StartTag�EmptyTag�	namespaceZhtmlz%s %s�namez%s<%s>� rrz	%s%s="%s"ZEndTag�Commentz
%s<!-- %s -->ZDoctypeZpublicIdz%s<!DOCTYPE %s "%s" "%s">ZsystemIdrz%s<!DOCTYPE %s "" "%s">z%s<!DOCTYPE %s>z
%s<!DOCTYPE >rz%s"%s"rFzBconcatenateCharacterTokens should have got rid of all Space tokenszUnknown token type, %s�
)r r!)
rrZ
namespaces�prefixesr�sorted�items�AssertionError�
ValueErrorr)Zwalker�output�indentrr�nsr#Zattrsr"Z	localname�valuerrrr	Ksd












)N)�__doc__Z
__future__rrrrrZ_utilsr�__all__rrrr	rrrr�<module>	s
'

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists