Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 6]0A@sdgZddlZddlZddlmZmZmZmZddlm Z m Z ddl Z ddl m Z mZddlmZmZmZmZyddlmZdZWn2ek rZzdd lmZd ZWYddZ[XnXGd ddeZGd d d ejZGdddeZGdddejZ Gddde Z!dS)HTML5TreeBuilderN) PERMISSIVEHTMLHTML_5HTMLTreeBuilder)NamespacedAttribute whitespace_re) namespacesprefixes)CommentDoctypeNavigableStringTag)_baseF)baseTc@sBeZdZdZdZeeeegZd ddZ ddZ dd Z d d Z dS) rzUse html5lib to build a tree.html5libNccs&||_|rtjd|dddfVdS)NzjYou provided a value for exclude_encoding, but the html5lib tree builder doesn't support exclude_encoding.F)user_specified_encodingwarningswarn)selfmarkuprZdocument_declared_encodingZexclude_encodingsr/usr/lib/python3.6/_html5lib.pyprepare_markup0s zHTML5TreeBuilder.prepare_markupcCs|jjdk rtjdtj|jd}t}t|t sNt rD|j |d<n |j |d<|j |f|}t|t rnd|_ n$|jjjd}t|t s|j}||_ dS)NzYou provided a value for parse_only, but the html5lib tree builder doesn't support parse_only. The entire document will be parsed.)ZtreeZoverride_encodingencodingr)soupZ parse_onlyrrrZ HTMLParsercreate_treebuilderdict isinstancestr new_html5librparseoriginal_encodingZ tokenizerstreamZ charEncodingname)rrparserZ extra_kwargsdocr"rrrfeed=s       zHTML5TreeBuilder.feedcCst||j|_|jS)N)TreeBuilderForHtml5librZunderlying_builder)rnamespaceHTMLElementsrrrrXs z#HTML5TreeBuilder.create_treebuildercCsd|S)zSee `TreeBuilder`.z)%sr)rZfragmentrrrtest_fragment_to_document]sz*HTML5TreeBuilder.test_fragment_to_document)NN) __name__ __module__ __qualname____doc__NAMErrrZfeaturesrr'rr*rrrrr)s  csfeZdZdfdd ZddZddZdd Zd d Zd d ZddZ ddZ ddZ ddZ Z S)r(Ncs8|r ||_nddlm}|dd|_tt|j|dS)Nr) BeautifulSoupz html.parser)rbs4r0superr(__init__)rr)rr0) __class__rrr4ds   zTreeBuilderForHtml5lib.__init__cCs|jjt|j|jdS)N)rresetElement)rrrr documentClassls z$TreeBuilderForHtml5lib.documentClasscCs6|d}|d}|d}tj|||}|jj|dS)Nr$publicIdsystemId)r Zfor_name_and_idsrobject_was_parsed)rtokenr$r9r:Zdoctyperrr insertDoctypeps z$TreeBuilderForHtml5lib.insertDoctypecCs|jj||}t||j|S)N)rnew_tagr7)rr$ namespacetagrrr elementClassxsz#TreeBuilderForHtml5lib.elementClasscCstt||jS)N)TextNoder r)rdatarrr commentClass|sz#TreeBuilderForHtml5lib.commentClasscCs0ddlm}|dd|_d|j_t|j|jdS)Nr)r0r1z html.parserz[document_fragment])r2r0rr$r7)rr0rrr fragmentClasss  z$TreeBuilderForHtml5lib.fragmentClasscCs|jj|jdS)N)rappendelement)rnoderrr appendChildsz"TreeBuilderForHtml5lib.appendChildcCs|jS)N)r)rrrr getDocumentsz"TreeBuilderForHtml5lib.getDocumentcCstjj|jS)N)treebuilder_base TreeBuilder getFragmentrG)rrrrrMsz"TreeBuilderForHtml5lib.getFragmentcsBddlmgtjddfdd |ddjS)Nr)r0z8^(.*?)(?: PUBLIC "(.*?)"(?: "(.*?)")?| SYSTEM "(.*?)")?$c st|r t|trj|}|r|jd}|jdkrx|jdpBd}|jdpZ|jdpZd}jdd||||fqjdd||fnjd d|fnHt|tr̈jd d||fn$t|trjd d||fn|jrd t |j|j f}n|j }jd d||f|j rg}x`t |j j D]N\}}t|trnd t |j|j f}t|t rdj|}|j||fqFWx2t|D]&\}}jdd|d||fqW|d7}x|jD]}||qWdS)Nr1z|%s z|%sz|%sz|%sz|%s"%s"z%s %sz|%s<%s>z |%s%s="%s")rr matchgroup lastindexrFr r r?r r$attrslistitemsrjoinsortedZchildren) rGindentmr$r9r: attributesvaluechild)r0 doctype_rervserializeElementrrrbsD            " z?TreeBuilderForHtml5lib.testSerializer..serializeElement )r)r2r0recompilerY)rrGr)r0r`rarbrtestSerializers   ) z%TreeBuilderForHtml5lib.testSerializer)N)r+r,r-r4r8r=rArDrErIrJrMrf __classcell__rr)r5rr(bsr(c@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS)AttrListcCs||_t|jj|_dS)N)rGrrV)rrGrrrr4szAttrList.__init__cCst|jjjS)N)rWrVrX__iter__)rrrrriszAttrList.__iter__cCsPtj}||dks.|jj|krB|||jjkrBt|tsBtj|}||j|<dS)N*)rZcdata_list_attributesrGr$rrWrsplit)rr$r^Z list_attrrrr __setitem__s    zAttrList.__setitem__cCst|jjS)N)rWrVrX)rrrrrXszAttrList.itemscCst|jjS)N)rWrVkeys)rrrrrmsz AttrList.keyscCs t|jS)N)lenrV)rrrr__len__szAttrList.__len__cCs |j|S)N)rV)rr$rrr __getitem__szAttrList.__getitem__cCs|t|jjkS)N)rWrVrm)rr$rrr __contains__szAttrList.__contains__N) r+r,r-r4rirlrXrmrorprqrrrrrhs rhc@sxeZdZddZddZddZddZeeeZdd d Z d d Z ddZ ddZ ddZ ddZddZeeZd S)r7cCs&tjj||j||_||_||_dS)N)rKNoder4r$rGrr?)rrGrr?rrrr4szElement.__init__cCs(d}}t|tr|}}n:t|tr,|}n*|jjtkrJ|j}}||_n |j}||_t|t rv|jdk rv|jj|r|jjr|jjdjtkr|jjd}|j j ||}|j |||j _ n`t|tr|j j |}|jjr|jj d}n |jjdk r |j j }n|j}|j j||j|ddS)NrNF)parentmost_recent_elementru)rrrrGr5r rsextractcontentsr new_string replace_withZ_most_recent_element_last_descendant next_elementr;)rrHZ string_childr_Z old_elementZ new_elementrtrrrrIs8             zElement.appendChildcCst|jtriSt|jS)N)rrGr rh)rrrr getAttributess zElement.getAttributescCs|dk rt|dkrg}x8t|jD](\}}t|tr&t|}||=|||<q&W|jjj|j |x"t|jD]\}}||j |<qrW|jjj |j dS)Nr) rnrWrXrtuplerrZbuilderZ$_replace_cdata_list_attribute_valuesr$rGZset_up_substitutions)rr]Zconverted_attributesr$r^new_namerrr setAttributes!s   zElement.setAttributesNcCs4t|jj||j}|r&|j||n |j|dS)N)rBrrx insertBeforerI)rrCrtextrrr insertText9szElement.insertTextcCs|jj|j}|jjtkrf|jjrf|jj|djtkrf|jj|d}|jj||j}|j|n|jj||j||_ dS)NrN) rGindexr5r rwrrxryinsertrs)rrHZrefNoderZold_nodeZnew_strrrrr@s zElement.insertBeforecCs|jjdS)N)rGrv)rrHrrr removeChildLszElement.removeChildc Cs|j}|j}|j}|jdd}t|jdkr>|jd}|j}n d}|j}|j}t|dkr|d} |rn|| _n|| _|| _|r| |_n| |_|r| |_|djdd} || _|r| |_d| _x|D]} || _|jj | qWg|_||_dS)z1Move all of this tag's children into another tag.FrrNNTruru) rGZ next_siblingrzrnrwr{Zprevious_elementZprevious_siblingrsrF) rZ new_parentrGZnew_parent_elementZfinal_next_elementZnew_parents_last_descendantZnew_parents_last_childZ(new_parents_last_descendant_next_elementZ to_appendZ first_childZlast_childs_last_descendantr_rrrreparentChildrenOs>    zElement.reparentChildrencCsF|jj|jj|j}t||j|j}x|jD]\}}||j|<q,W|S)N)rr>rGr$r?r7r])rr@rHkeyr^rrr cloneNodes zElement.cloneNodecCs|jjS)N)rGrw)rrrr hasContentszElement.hasContentcCs(|jdkrtd|jfS|j|jfSdS)NZhtml)r?r r$)rrrr getNameTuples zElement.getNameTuple)N)r+r,r-r4rIr|rpropertyr]rrrrrrrZ nameTuplerrrrr7s6   Br7c@seZdZddZddZdS)rBcCstjj|d||_||_dS)N)rKrrr4rGr)rrGrrrrr4szTextNode.__init__cCstdS)N)NotImplementedError)rrrrrszTextNode.cloneNodeN)r+r,r-r4rrrrrrBsrB)"__all__rrdZ bs4.builderrrrrZ bs4.elementrrrZhtml5lib.constantsr r r r r rZhtml5lib.treebuildersrrKr ImportErrorerrrLr(objectrhrrr7rBrrrrs&  9_E