Sindbad~EG File Manager

Current Path : /lib/python3.6/site-packages/html5lib/treewalkers/__pycache__/
Upload File :
Current File : //lib/python3.6/site-packages/html5lib/treewalkers/__pycache__/etree_lxml.cpython-36.opt-1.pyc

3

B;�W��@s�ddlmZmZmZddlmZddlmZddlm	Z	ddl
mZddl
mZd	d
�Z
Gdd�de�ZGd
d�de�ZGdd�de�ZGdd�de�ZGdd�dej�ZdS)�)�absolute_import�division�unicode_literals)�	text_type)�etree�)�
tag_regexp�)�base)�	_ihatexmlcCs*|dkrdSt|t�r|S|jdd�SdS)N�ascii�strict)�
isinstancer�decode)�s�r� /usr/lib/python3.6/etree_lxml.py�
ensure_strs

rc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�RootcCs�||_g|_y:|jjrD|jjt|t|jj�t|jj�t|jj	���Wnt
k
rZYnXy|j�}Wnt
k
r�|}YnXx|j�dk	r�|j�}q�Wx |dk	r�|jj|�|j
�}q�Wd|_d|_dS)N)Zelementtree�childrenZdocinfoZinternalDTD�append�DoctyperZ	root_name�	public_idZ
system_url�AttributeErrorZgetrootZgetprevious�getnext�text�tail)�selfZet�noderrr�__init__s*




z
Root.__init__cCs
|j|S)N)r)r�keyrrr�__getitem__1szRoot.__getitem__cCsdS)Nr)rrrrr4szRoot.getnextcCsdS)Nr	r)rrrr�__len__7szRoot.__len__N)�__name__�
__module__�__qualname__rr!rr"rrrrrsrc@seZdZdd�Zdd�ZdS)rcCs(||_||_||_||_d|_d|_dS)N)�	root_node�namer�	system_idrr)rr&r'rr(rrrr<szDoctype.__init__cCs|jjdS)Nr	)r&r)rrrrrEszDoctype.getnextN)r#r$r%rrrrrrr;s	rc@seZdZdd�Zdd�ZdS)�FragmentRootcs$�fdd�|D��_d�_�_dS)Ncsg|]}t�|��qSr)�FragmentWrapper)�.0Zchild)rrr�
<listcomp>Ksz)FragmentRoot.__init__.<locals>.<listcomp>)rrr)rrr)rrrJszFragmentRoot.__init__cCsdS)Nr)rrrrrNszFragmentRoot.getnextN)r#r$r%rrrrrrr)Isr)c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)r*cCsT||_||_t|jd�r(t|jj�|_nd|_t|jd�rJt|jj�|_nd|_dS)Nrr)r&�obj�hasattrrrr)rZ
fragment_rootr-rrrrSszFragmentWrapper.__init__cCst|j|�S)N)�getattrr-)rr'rrr�__getattr___szFragmentWrapper.__getattr__cCs6|jj}|j|�}|t|�dkr.||dSdSdS)Nr	)r&r�index�len)rZsiblings�idxrrrrbs

zFragmentWrapper.getnextcCs
|j|S)N)r-)rr rrrr!jszFragmentWrapper.__getitem__cCs
t|j�S)N)�boolr-)rrrr�__bool__mszFragmentWrapper.__bool__cCsdS)Nr)rrrr�	getparentpszFragmentWrapper.getparentcCs
t|j�S)N)�strr-)rrrr�__str__sszFragmentWrapper.__str__cCs
t|j�S)N)r7r-)rrrr�__unicode__vszFragmentWrapper.__unicode__cCs
t|j�S)N)r2r-)rrrrr"yszFragmentWrapper.__len__N)r#r$r%rr0rr!r5r6r8r9r"rrrrr*Rsr*c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�
TreeWalkercCsJt|t�rt|�|_t|�}nt�|_t|�}tjj||�t	j
�|_dS)N)r�list�set�fragmentChildrenr)rr
�NonRecursiveTreeWalkerrrZ
InfosetFilter�filter)rZtreerrrr~s


zTreeWalker.__init__c	Cs�t|t�r&|\}}tjtt||��fSt|t�r8tjfSt|t�rVtj	|j
|j|jfSt|t
�r|t|d�r|tjt|j�fS|jtjkr�tjt|j�fS|jtjkr�tjt|j�dd�fStjt|j��}|r�|j�\}}nd}t|j�}i}xbt|jj��D]P\}}t|�}t|�}tj|�}|�rB|||jd�|jd�f<n||d|f<�qWtj||jj |�|t!|�dk�px|jfSdS)N�tagr	rr���)"r�tupler
ZTEXTrr/rZDOCUMENTrZDOCTYPEr'rr(r*r.r-r@r�Comment�COMMENTrZEntityZENTITYr�match�groupsr;Zattrib�items�groupZELEMENTr?ZfromXmlNamer2)	rrr rE�	namespacer@Zattrsr'�valuerrr�getNodeDetails�s8




zTreeWalker.getNodeDetailscCs|jr|dfS|dSdS)Nrr)r)rrrrr�
getFirstChild�szTreeWalker.getFirstChildcCsNt|t�r8|\}}|dkr0t|�r*|dSdSn|j�S|jrF|dfS|j�S)Nrrr)rrBr2rr)rrr rrr�getNextSibling�s
zTreeWalker.getNextSiblingcCs6t|t�r |\}}|dkr.|Sn||jkr.dS|j�S)Nr)rrBr=r6)rrr rrr�
getParentNode�s

zTreeWalker.getParentNodeN)r#r$r%rrKrLrMrNrrrrr:}s
)	r:N)Z
__future__rrrZsixrZlxmlrZtreebuilders.etreer�r
rr�objectrrr)r*r>r:rrrr�<module>s	&	+

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