Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 AøªjWã@sZdZddlmZmZmZddlmZddlmZddgZ iZ d d d„Z d d „Z d d„Z dS)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 implement a tree walker object (called TreeWalker by convention) that implements a 'serialize' method which takes a tree as sole argument and returns an iterator which generates tokens. é)Úabsolute_importÚdivisionÚunicode_literalsé)Ú constants)Ú default_etreeÚ getTreeWalkerÚpprintNcKsª|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 :arg str treeType: 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 :arg implementation: A module implementing the tree type e.g. xml.etree.ElementTree or cElementTree (Currently applies to the "etree" tree type only). :arg kwargs: keyword arguments passed to the etree walker--for other walkers, this has no effect :returns: a TreeWalker class Údomé)r Úgenshi)r Úlxml)Ú etree_lxmlÚetree)rN) ÚlowerÚtreeWalkerCacheÚr Ú TreeWalkerr rrrÚgetETreeModuleÚget)ÚtreeTypeÚimplementationÚkwargsr r rr©rúA/tmp/pip-build-_d5lkt3n/html5lib/html5lib/treewalkers/__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)ÚtokensÚpendingCharactersÚtokenrrrrÚconcatenateCharacterTokensAs  r$c Cslg}d}�xVt|ƒD�]H}|d}|d k�r&|dr~|dtjdkr~|dtjkrdtj|d}n|d}d||df}n|d}|jd d ||fƒ|d 7}|d }xdt|jƒƒD]T\\}} } |rò|tjkràtj|}n|}d|| f}n| }|jd d ||| fƒqºW|dk�r^|d 8}q|dk�r:|d 8}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)!z Pretty printer for tree walkers Takes a TreeWalker instance and pretty prints the output of walking the tree. :arg walker: a TreeWalker instance rrÚStartTagÚEmptyTagÚ namespaceÚhtmlz%s %sÚnamez%s<%s>ú rrz %s%s="%s"ÚEndTagÚCommentz %sÚDoctypeÚpublicIdz%sÚsystemIdrz%sz%sz %srz%s"%s"rFzBconcatenateCharacterTokens should have got rid of all Space tokenszUnknown token type, %sÚ )r%r&) r$rÚ namespacesÚprefixesrÚsortedÚitemsÚAssertionErrorÚ ValueErrorr ) ÚwalkerÚoutputÚindentr#rÚnsr)Úattrsr'Ú localnameÚvaluerrrr Psd               )N)Ú__doc__Ú __future__rrrrrÚ_utilsrÚ__all__rrr$r rrrrÚ s   ,