Sindbad~EG File Manager

Current Path : /lib64/python3.6/site-packages/lxml/html/__pycache__/
Upload File :
Current File : //lib64/python3.6/site-packages/lxml/html/__pycache__/formfill.cpython-36.pyc

3

)�2Y�%�@sxddlmZmZddlmZmZddlmZmZmZm	Z	ddlm
Z
ddlZyeWne
k
rleZYnXdddd	d
dgZGdd�de�Zed
deid�Zedjdd�d7D��deid�Zeddeid�Zed�Zd8dd�Zd9dd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd:d)d*�Zd+d,�Z Gd-d�de!�Z"e"�Z#ddd.e#fd/d	�Z$d0d
�Z%d1d2�Z&d3d4�Z'd5d6�Z(dS);�)�XPath�ElementBase)�
fromstring�XHTML_NAMESPACE)�_forms_xpath�_options_xpath�_nons�_transform_result)�defsN�FormNotFound�	fill_form�fill_form_html�
insert_errors�insert_errors_html�DefaultErrorCreatorc@seZdZdZdS)rz*
    Raised when no form can be found
    N)�__name__�
__module__�__qualname__�__doc__�rr� /usr/lib64/python3.6/formfill.pyrszKdescendant-or-self::form[name=$name]|descendant-or-self::x:form[name=$name]�x)Z
namespaces�|cCsg|]}d|�qS)zdescendant-or-self::r)�.0Z_tagrrr�
<listcomp>sr�input�select�textarea�x:input�x:select�
x:textareaz-//label[@for=$for_id]|//x:label[@for=$for_id]z"descendant-or-self::*[@name=$name]cCst|||d�}t||�dS)N)�form_id�
form_index)�
_find_form�
_fill_form)�el�valuesr!r"rrrrscCs@t|�}t|t�rt|�}n
tj|�}t||||d�t||�S)N)r!r")�type�
isinstance�
basestringr�copy�deepcopyrr	)�htmlr&r!r"�result_type�docrrrr
&s


cCs�i}t|d�r|j�}t|�}x�|D]�}|jd�}|s8q$t|�rl|j|g�}t|ttf�s`|g}t||�q$||krxq$q$|j|d�}|d||<||}t|ttf�r�y||}Wq�t	k
r�w$Yq�Xn
|dkr�q$t
||�q$WdS)N�mixed�namer�)�hasattrr/�_input_xpath�get�_takes_multipler(�list�tuple�_fill_multiple�
IndexError�_fill_single)r%r&ZcountsZinputsrr0�value�indexrrrr$/s4



r$cCs<t|j�dkr|jd�rdS|jdd�j�}|d	kr8dSdS)
NrZmultipleTr'��radio�checkboxF)r>r?)r�tagr4�lower)rr'rrrr5Msr5cCs�|jdd�j�}|dkrj|jd�}|dkrZ|s4d}n|d}t|t�rN|dk}t||�q�t|||k�nn|dkr�|jd�}t|||k�nLt|j�d	ks�t�x8t|�D],}|jd�}|dkr�|j	�}t
|||k�q�WdS)
Nr'r=r?r;FrZonr>r)r4rAr(r)�_checkrr@�AssertionErrorrZtext_content�_select)rr;r'�v�resultZoptionrrrr8Vs(



r8cCs(|r|jdd�nd|jkr$|jd=dS)NZcheckedr=)�set�attrib)r%ZcheckrrrrBrs
rBcCs(|r|jdd�nd|jkr$|jd=dS)NZselectedr=)rGrH)r%rrrrrDys
rDcCs&t|j�dkr||_n|jd|�dS)Nrr;)rr@�textrG)rr;rrrr:�sr:cCs�|dkr0|dkr0t|�}x|D]}|SWtd��|dk	r�|j|�}|dk	rN|St||d�}|rf|dStdtdjt|��f��|dk	r�t|�}y||Stk
r�td|t|�f��YnXdS)NzNo forms in page)r0rz-No form with the name or id of %r (forms: %s)z, z3There is no form with the index %r (%i forms found))	rr�get_element_by_id�_form_name_xpath�id�join�_find_form_idsr9�len)r%r!r"�forms�formrrrr#�s0

r#ccs�t|�}|sdVdSxtt|�D]h\}}|jd�rf|jd�rXd|jd�|jd�fVq�|jd�Vq |jd�r~|jd�Vq d|Vq WdS)Nz
(no forms)rLr0z%s or %sz(unnamed form %s))r�	enumerater4)r%rPr<rQrrrrN�s



rNc@s4eZdZdZdZdZdZdZdZdd�Z	dd	�Z
d
S)rTZdivz
error-messagezerror-blockZInvalidcKs<x6|j�D]*\}}t||�s(td|��t|||�q
WdS)NzUnexpected keyword argument: %s)�itemsr2�	TypeError�setattr)�self�kwr0r;rrr�__init__�s


zDefaultErrorCreator.__init__cCs|j|j�}|jr |jd|j�|rH|jrH|jd|jdd�d|j�|dksX|dkr^|j}t|t�rt|j	|�n"t|t
�s�td|��|p�|j|_|r�|j
r�|jr�|j|_d|_|jd|�n
|j	|�nD|j�}|j|�}|jr�|j||�n|j|_d|_|j|d|�dS)N�classr=� z.Bad message; should be a string or element: %rrr1)Zmakeelement�error_container_tag�error_message_classrG�error_block_classr4�default_messager(r�appendr)rCrI�block_inside�
insert_before�tail�insertZ	getparentr<)rVr%�is_block�message�error_el�parent�posrrr�__call__�s2




zDefaultErrorCreator.__call__N)rrrrar`r[r\r]r^rXrirrrrr�s�errorc
Cszt|||d�}xf|j�D]Z\}}|dkr*qxFt|||�D]6\}}	t|	ttd�tf�s`td|	��t||	||�q8WqWdS)N)r!r"zBad message: %r)	r#rS�_find_elements_for_namer(r)r'rrC�
_insert_error)
r%�errorsr!r"�error_class�
error_creatorr0rjrfrerrrr�s
cKs>t|�}t|t�rt|�}n
tj|�}t||f|�t||�S)N)r'r(r)rr*r+rr	)r,r&rWr-r.rrrr�s


cCs�t|j�tjkst|j�dkr$d}nd}t|j�dkrD|rDt||�|jd�r|t||jd�d�}|r|x|D]}t||�qjW||||�dS)NrFTrQrL)Zfor_id)rr@r
Z
empty_tags�
_add_classr4�_label_for_xpath)r%rjrnrordZlabelsZlabelrrrrls


rlcCs6|jd�r&|jd|jd�d|�n|jd|�dS)NrYrZ)r4rG)r%�
class_namerrrrps
rpccs�|dkr||fVdS|jd�rH|j|dd��}|dk	rD||fVdSt||d�}|s\dSt|ttf�s||d|fVdSx*t||�D]\}}|dkr�q�||fVq�WdS)N�#r1)r0r)�
startswithrJ�_name_xpathr(r6r7�zip)rQr0rjr%Zels�errrrrrks$


rk)rrrrrr )NN)NN)NN))Z
lxml.etreerrZ	lxml.htmlrrrrrr	r
r*r)�	NameError�str�__all__�LookupErrorrrKrMr3rqrurr
r$r5r8rBrDr:r#rN�objectrZdefault_error_creatorrrrlrprkrrrr�<module>sN


		
.	

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