id%ddlmZmZddlmZmZddlmZmZmZm Z ddlm Z ddl Z e n #e $reZ YnwxYwgdZGddeZed d ei Zed d dDd ei Zedd ei ZedZ d#dZd#dZdZdZdZdZdZdZd#dZdZ Gdde!Z"e"Z#ddde#fdZ$dZ%d Z&d!Z'd"Z(dS)$)XPath ElementBase) fromstringXHTML_NAMESPACE) _forms_xpath_options_xpath_nons_transform_result)defsN) FormNotFound fill_formfill_form_html insert_errorsinsert_errors_htmlDefaultErrorCreatorceZdZdZdS)r z* Raised when no form can be found N)__name__ __module__ __qualname____doc__G/opt/cloudlinux/venv/lib/python3.11/site-packages/lxml/html/formfill.pyr r srr zKdescendant-or-self::form[name=$name]|descendant-or-self::x:form[name=$name]x) namespaces|cg|]}d|zS)zdescendant-or-self::r).0_tags r r s0HHHt5d:HHHr)inputselecttextareazx:inputzx:selectz x:textareaz-//label[@for=$for_id]|//x:label[@for=$for_id]z"descendant-or-self::*[@name=$name]cJt|||}t||dSN)form_id form_index) _find_form _fill_form)elvaluesr&r's rr r s. BJ ? ? ?Br6rct|}t|trt|}nt j|}t ||||t||Sr%)type isinstance basestringrcopydeepcopyr r )htmlr+r&r' result_typedocs rrr&sdt**K$ ##"mD!! c67zBBBB [# . ..rcDi}t|dr|}t|}|D]}|d}|st |rF||g}t |t tfs|g}t||o||vrt||d}|dz||<||}t |t tfr ||}n#t$rYwxYw|dkrt||dS)Nmixednamer) hasattrr6 _input_xpathget_takes_multipler.listtuple_fill_multiple IndexError _fill_single)r*r+countsinputsr!r7valueindexs rr)r)/sW Fvw  "  F''yy     5 ! ! 'JJtR((EedE]33  5% ( ( ( (    JJtQ''E 19F4L4LE%$// !%LEE!H  & & & &-''s/C88 DDct|jdkr|drdS|dd}|dvrdSdS)Nr"multipleTr-)radiocheckboxF)r tagr;lower)r!r-s rr<r<Msb UY8## *(=(=#t 99VR & & ( (D $$$t 5rc(|dd}|dkre|d}|:|sd}n#|d}t|tr|dk}t ||dSt |||vdS|dkr)|d}t |||vdSt |D]?}|d}||}t|||v@dS) Nr-rHrJrDFronrI)r;rLr.r/_checkr text_content_select)r!rDr-vresultoptions rr?r?Vs< 99VR & & ( (D z IIg   9 ,qeZ00,#t^F 5& ! ! ! ! ! 5!u* % % % % %  IIg  ua5j!!!!!%U++ ( (F 7##Ay'')) FAJ ' ' ' '  ( (rc`|r|dddSd|jvr |jd=dSdS)NcheckedrHsetattrib)r*checks rrOrOrsI % y"  ! ! )$$$ " !rc`|r|dddSd|jvr |jd=dSdS)NselectedrHrW)r*r"s rrQrQysI & z2  " " *%%% # "rctt|jdkr ||_dS|d|dS)Nr#rD)r rKtextrX)r!rDs rrArAs< UY:%%  '5!!!!!rc |(|&t|}|D]}|cStd|o||}||St||}|r|dStdtddt |d|Gt|} ||S#t$r"td|t|fzwxYwdS) NzNo forms in pager7rzNo form with the name or id of z (forms: z, )z3There is no form with the index %r (%i forms found)) rr get_element_by_id_form_name_xpathidjoin_find_form_idsr@len)r*r&r'formsforms rr(r(s9:-R    DKKK    ##G,,  K '222  78O,22tyy!3!34444677 7R   ,$ $ , , ,Es5zz*+,, , , s .B66,C"c#Kt|}|sdVdSt|D]\}}|dr]|dr0|dd|dV_|dVw|dr|dVd|zVdS)Nz (no forms)rdr7z or z(unnamed form %s))r enumerater;)r*rhrEris rrfrfs   E  '' . . t 88D>> .xx %$(HHTNNNN%)XXf%5%5%577777hhtnn$$$$ XXf   .((6"" " " " "%- - - - - . .rc2eZdZdZdZdZdZdZdZdZ dZ dS) rTdivz error-messagez error-blockInvalidc |D]8\}}t||std|zt|||9dS)NzUnexpected keyword argument: %s)itemsr9 TypeErrorsetattr)selfkwr7rDs r__init__zDefaultErrorCreator.__init__sh88:: ' 'KD%4&& >5<>>> D$ & & & &  ' 'rc||j}|jr|d|j|r<|jr5|d|dddz|jz||dkr|j}t|tr| |n|p|j|_ |rP|j rI|j r+|j |_ d|_ |d|dS| |dS|}||}|j r|||dS|j |_ d|_ ||dz|dS)NclassrH rr8) makeelementerror_container_tagerror_message_classrXerror_block_classr;default_messager.rappendr^ block_inside insert_beforetailinsert getparentrE)rsr*is_blockmessageerror_elparentposs r__call__zDefaultErrorCreator.__call__s>>$":;;  # < LL$": ; ; ;  X. X LL(,,w";";C"?@V"V W W W ?gmm*G g{ + + < OOG $ $ $ $$;t';HM  /) /! $ "  !X&&&&& (#####\\^^F,,r""C! / c8,,,,, "  c!eX.....rN) rrrrrrzr{r|r}rurrrrrrsSML)%O'''/////rrerrorct|||}|D]1\}}|t|||D]\}} t|| ||2dSr%)r(rp_find_elements_for_name _insert_error) r*errorsr&r' error_class error_creatorr7rrrs rrrs BJ ? ? ?B||~~II e = !8T5!I!I I I Hg (G[- H H H H IIIrc t|}t|trt|}nt j|}t ||fi|t||S)N)r-r.r/rr0r1rr )r2r+rtr3r4s rrrset**K$ ##"mD!!#v$$$$$ [# . ..rct|jtjvst|jdkrd}nd}t|jdkr|rt |||dr;t ||d}|r|D]}t ||||||dS)Nr#FTrird)for_id)r rKr empty_tags _add_classr;_label_for_xpath)r*rrrrlabelslabels rrrs RV}}''5==J+F+F RV}};2{### vvd||/!"RVVD\\:::  / / /5+....M"h&&&&&rc|dr1|d|ddz|zdS|d|dS)Nrwrx)r;rX)r* class_names rrrs\ vvg$ ww+J677777 w #####rc#RK|||fVdS|dr'||dd}|||fVdSt||}|sdSt|tt fs|d|fVdSt ||D]\}}|||fVdS)N#r8r`r) startswithrb _name_xpathr.r=r>zip)rir7rr*elserrs rrrs |Ek s  # #DH - - >e)OOO d & & &C  edE] + +!femsE??C ; #g r)NN)) lxml.etreerr lxml.htmlrrrrr r r r0r/ NameErrorstr__all__ LookupErrorr rcrer:rrr rr)r<r?rOrQrAr(rfobjectrdefault_error_creatorrrrrrrrrrs))))))))11111111LLLLLLLLLLLL JJJJJ " " "; 5ftwyHtIJJJuSXXHHHGHHHII+.*?AAA 5H+.*?AAAe899  ////'''<(((8%%%&&&""" ,,,,6...*,/,/,/,/,/&,/,/,/\,+-- ' IIII"/// ' ' '$$$ s +55