Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 )2Y%@sxddlmZmZddlmZmZddlmZmZmZm Z ddlm Z ddl Z ye Wne k rleZ YnXdddd d d gZGd ddeZed deidZedjddd7DdeidZeddeidZedZd8ddZd9ddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd:d)d*Zd+d,Z Gd-d d e!Z"e"Z#ddd.e#fd/d Z$d0d Z%d1d2Z&d3d4Z'd5d6Z(dS);)XPath ElementBase) fromstringXHTML_NAMESPACE) _forms_xpath_options_xpath_nons_transform_result)defsN FormNotFound fill_formfill_form_html insert_errorsinsert_errors_htmlDefaultErrorCreatorc@seZdZdZdS)r z* Raised when no form can be found N)__name__ __module__ __qualname____doc__rr /usr/lib64/python3.6/formfill.pyr szKdescendant-or-self::form[name=$name]|descendant-or-self::x:form[name=$name]x)Z namespaces|cCsg|] }d|qS)zdescendant-or-self::r).0Z_tagrrr srinputselecttextareax:inputx: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)elvaluesr!r"rrrr scCs@t|}t|trt|}n tj|}t||||dt||S)N)r!r")type isinstance basestringrcopydeepcopyr r )htmlr&r!r" result_typedocrrrr &s    c Csi}t|dr|j}t|}x|D]}|jd}|s8q$t|rl|j|g}t|ttfs`|g}t||q$||krxq$q$|j|d}|d||<||}t|ttfry ||}Wqt k rw$YqXn |dkrq$t ||q$WdS)Nmixednamer) hasattrr/ _input_xpathget_takes_multipler(listtuple_fill_multiple IndexError _fill_single)r%r&ZcountsZinputsrr0valueindexrrrr$/s4         r$cCs<t|jdkr|jdrdS|jddj}|d kr8dSdS) NrZmultipleTr'radiocheckboxF)r>r?)rtagr4lower)rr'rrrr5Ms r5cCs|jddj}|dkrj|jd}|dkrZ|s4d}n|d}t|trN|dk}t||qt|||knn|dkr|jd}t|||knLt|jd kstx8t|D],}|jd}|dkr|j }t |||kqWdS) Nr'r=r?r;FrZonr>r) r4rAr(r)_checkrr@AssertionErrorrZ text_content_select)rr;r'vresultZoptionrrrr8Vs(     r8cCs(|r|jddnd|jkr$|jd=dS)NZcheckedr=)setattrib)r%ZcheckrrrrBrs rBcCs(|r|jddnd|jkr$|jd=dS)NZselectedr=)rGrH)r%rrrrrDys rDcCs&t|jdkr||_n |jd|dS)Nrr;)rr@textrG)rr;rrrr:sr:c Cs|dkr0|dkr0t|}x|D]}|SWtd|dk r|j|}|dk rN|St||d}|rf|dStdtdjt|f|dk rt|}y||Stk rtd|t|fYnXdS)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_xpathidjoin_find_form_idsr9len)r%r!r"formsformrrrr#s0   r#ccst|}|sdVdSxtt|D]h\}}|jdrf|jdrXd|jd|jdfVq|jdVq |jdr~|jdVq d|Vq WdS)Nz (no forms)rLr0z%s or %sz(unnamed form %s))r enumerater4)r%rPr<rQrrrrNs    rNc@s4eZdZdZdZdZdZdZdZddZ dd Z d S) rTZdivz error-messagez error-blockZInvalidcKs<x6|jD]*\}}t||s(td|t|||q WdS)NzUnexpected keyword argument: %s)itemsr2 TypeErrorsetattr)selfkwr0r;rrr__init__s   zDefaultErrorCreator.__init__cCs|j|j}|jr |jd|j|rH|jrH|jd|jddd|j|dksX|dkr^|j}t|trt|j |n"t|t st d||p|j|_ |r|j r|jr|j |_d|_ |jd|n |j |nD|j}|j|}|jr|j||n|j|_d|_|j|d|dS)Nclassr= z.Bad message; should be a string or element: %rrr1)Z makeelementerror_container_tagerror_message_classrGerror_block_classr4default_messager(rappendr)rCrI block_inside insert_beforetailinsertZ getparentr<)rVr%is_blockmessageerror_elparentposrrr__call__s2          zDefaultErrorCreator.__call__N) rrrrar`r[r\r]r^rXrirrrrrserrorc Cszt|||d}xf|jD]Z\}}|dkr*qxFt|||D]6\}} t| ttdtfs`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_creatorr0rjrfrerrrrs cKs>t|}t|trt|}n tj|}t||f|t||S)N)r'r(r)rr*r+rr )r,r&rWr-r.rrrrs    cCst|jtjkst|jdkr$d}nd}t|jdkrD|rDt|||jdr|t||jdd}|r|x|D]}t||qjW||||dS)NrFTrQrL)Zfor_id)rr@r Z empty_tags _add_classr4_label_for_xpath)r%rjrnrordZlabelsZlabelrrrrls   rlcCs6|jdr&|jd|jdd|n |jd|dS)NrYrZ)r4rG)r% class_namerrrrps rpccs|dkr||fVdS|jdrH|j|dd}|dk rD||fVdSt||d}|s\dSt|ttfs||d|fVdSx*t||D]\}}|dkrq||fVqWdS)N#r1)r0r) startswithrJ _name_xpathr(r6r7zip)rQr0rjr%Zelserrrrrrks$    rk)rrrrrr )NN)NN)NN))Z lxml.etreerrZ lxml.htmlrrrrrr r r*r) NameErrorstr__all__ LookupErrorr rKrMr3rqrur r r$r5r8rBrDr:r#rNobjectrZdefault_error_creatorrrrlrprkrrrrsN        .