HEX
Server: Apache
System: Linux vps.rockyroadprinting.net 4.18.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64
User: rockyroadprintin (1011)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python2.7/site-packages/bs4/builder/_html5lib.pyo
�
J�\[c@s[dgZddlZddlZddlmZmZmZmZddlm	Z	m
Z
ddlZddlm
Z
mZddlmZmZmZmZyddlmZeZWn)ek
r�ZddlmZeZnXdefd	��YZd
ejfd��YZdefd
��YZ dej!fd��YZ"de"fd��YZ#dS(tHTML5TreeBuilderi����N(t
PERMISSIVEtHTMLtHTML_5tHTMLTreeBuilder(tNamespacedAttributet
whitespace_re(t
namespacestprefixes(tCommenttDoctypetNavigableStringtTag(t_base(tbasecBsPeZdZdZeeeegZddd�Z	d�Z
d�Zd�ZRS(sUse html5lib to build a tree.thtml5libccs4||_|rtjd�n|ddtfVdS(NsjYou provided a value for exclude_encoding, but the html5lib tree builder doesn't support exclude_encoding.(tuser_specified_encodingtwarningstwarntNonetFalse(tselftmarkupRtdocument_declared_encodingtexclude_encodings((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pytprepare_markup0s	cCs�|jjdk	r"tjd�ntjd|j�}t�}t	|t
�sutre|j|d<qu|j|d<n|j
||�}t	|t
�r�d|_n7|jjjd}t	|t�s�|j}n||_dS(Ns�You provided a value for parse_only, but the html5lib tree builder doesn't support parse_only. The entire document will be parsed.ttreetoverride_encodingtencodingi(tsoupt
parse_onlyRRRRt
HTMLParsertcreate_treebuildertdictt
isinstancetunicodetnew_html5libRtparsetoriginal_encodingt	tokenizertstreamtcharEncodingt
basestringtname(RRtparsertextra_kwargstdocR&((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pytfeed=s	cCst||j�|_|jS(N(tTreeBuilderForHtml5libRtunderlying_builder(RtnamespaceHTMLElements((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyR XscCsd|S(sSee `TreeBuilder`.u)<html><head></head><body>%s</body></html>((Rtfragment((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyttest_fragment_to_document]sN(
t__name__t
__module__t__doc__tNAMERRRtfeaturesRRR/R R4(((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyR)s		R0cBseeZd
d�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�ZRS(cCsN|r||_n"ddlm}|dd�|_tt|�j|�dS(Ni����(t
BeautifulSouptshtml.parser(Rtbs4R:tsuperR0t__init__(RR2RR:((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyR>ds
cCs#|jj�t|j|jd�S(N(RtresettElementR(R((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyt
documentClassls
cCsG|d}|d}|d}tj|||�}|jj|�dS(NR+tpublicIdtsystemId(R
tfor_name_and_idsRtobject_was_parsed(RttokenR+RBRCtdoctype((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyt
insertDoctypeps



cCs(|jj||�}t||j|�S(N(Rtnew_tagR@(RR+t	namespacettag((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pytelementClassxscCstt|�|j�S(N(tTextNodeR	R(Rtdata((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pytcommentClass|scCsDddlm}|dd�|_d|j_t|j|jd�S(Ni����(R:R;shtml.parsers[document_fragment](R<R:RR+R@R(RR:((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyt
fragmentClassscCs|jj|j�dS(N(Rtappendtelement(Rtnode((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pytappendChild�scCs|jS(N(R(R((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pytgetDocument�scCstjj|�jS(N(ttreebuilder_basetTreeBuildertgetFragmentRR(R((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyRX�scsZddlm�g�tjd��d����fd���|d�dj��S(Ni����(R:s8^(.*?)(?: PUBLIC "(.*?)"(?: "(.*?)")?| SYSTEM "(.*?)")?$ic	s�t|��rnt|t�r��j|�}|r�|jd�}|jdkr�|jd�pfd}|jd�p�|jd�p�d}�jdd||||f�q��jdd||f�q��jd	d|f�n�t|t�r�jd
d||f�nst|t�rD�jdd||f�nF|jrjdt	|j|j
f}n	|j
}�jd
d||f�|jr_g}x}|jj�D]l\}}t|t
�r�dt	|j|j
f}nt|t�rdj|�}n|j||f�q�Wx?t|�D].\}}�jdd|d||f�q*Wn|d7}x|jD]}�||�qsWdS(NiiR;iis|%s<!DOCTYPE %s "%s" "%s">t s|%s<!DOCTYPE %s>s|%s<!DOCTYPE >s|%s<!-- %s -->s|%s"%s"s%s %ss|%s<%s>s
|%s%s="%s"(R"R
tmatchtgroupt	lastindexRQR	RRJRR+tattrstitemsRtlisttjointsortedtchildren(	RRtindenttmR+RBRCt
attributestvaluetchild(R:t
doctype_retrvtserializeElement(s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyRj�sF$		
		)
s
(R<R:tretcompileR`(RRR((R:RhRiRjs9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyttestSerializer�s)
N(
R5R6RR>RARHRLRORPRTRURXRm(((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyR0bs								tAttrListcBsPeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	RS(cCs"||_t|jj�|_dS(N(RRR!R](RRR((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyR>�s	cCst|jj��j�S(N(R_R]R^t__iter__(R((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyRo�scCsvtj}||dksA|jj|kre|||jjkret|t�setj|�}qen||j|<dS(Nt*(Rtcdata_list_attributesRRR+R"R_Rtsplit(RR+Rft	list_attr((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyt__setitem__�s	cCst|jj��S(N(R_R]R^(R((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyR^�scCst|jj��S(N(R_R]tkeys(R((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyRu�scCs
t|j�S(N(tlenR](R((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyt__len__�scCs|j|S(N(R](RR+((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyt__getitem__�scCs|t|jj��kS(N(R_R]Ru(RR+((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyt__contains__�s(
R5R6R>RoRtR^RuRwRxRy(((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyRn�s							R@cBs�eZd�Zd�Zd�Zd�Zeee�Zdd�Z	d�Z
d�Zd�Zd�Z
d	�Zd
�Zee�ZRS(cCs5tjj||j�||_||_||_dS(N(RVtNodeR>R+RRRRJ(RRRRRJ((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyR>�s		cCs�d}}t|t�r&|}}nUt|t�r>|}n=|jjtkri|j}}||_n|j}||_t|t�r�|jdk	r�|jj�n|r|jj	r|jj	djtkr|jj	d}|j
j||�}|j|�||j
_
n�t|t�r;|j
j|�}n|jj	r\|jjt�}n-|jjdk	r�|j
j�}n	|j}|j
j|d|jd|�dS(Ni����tparenttmost_recent_element(RR"R*RRRt	__class__RR{textracttcontentsRt
new_stringtreplace_witht_most_recent_elementt_last_descendantRtnext_elementRE(RRStstring_childRgtold_elementtnew_elementR|((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyRT�s8

	
		
		cCs#t|jt�riSt|j�S(N(R"RRR	Rn(R((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyt
getAttributesscCs�|dk	r�t|�dkr�g}xOt|j��D];\}}t|t�r7t|�}||=|||<q7q7W|jjj	|j
|�x'|j�D]\}}||j|<q�W|jjj|j�ndS(Ni(
RRvR_R^R"ttupleRRtbuildert$_replace_cdata_list_attribute_valuesR+RRtset_up_substitutions(RRetconverted_attributesR+Rftnew_name((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyt
setAttributes!s
cCsHt|jj|�|j�}|r7|j||�n
|j|�dS(N(RMRR�tinsertBeforeRT(RRNR�ttext((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyt
insertText9scCs�|jj|j�}|jjtkr�|jjr�|jj|djtkr�|jj|d}|jj||j�}|j|�n|jj||j�||_	dS(Ni(
RRtindexR}RRRR�R�tinsertR{(RRStrefNodeR�told_nodetnew_str((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyR�@scCs|jj�dS(N(RRR~(RRS((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pytremoveChildLscCs]|j}|j}|j}|jtt�}t|j�dkr[|jd}|j}nd}|j}|j}t|�dkr|d}	|r�||	_n	||	_||	_	|r�|	|_n	|	|_|r�|	|_n|djtt
�}
||
_|r|
|_nd|
_nx'|D]}||_|jj|�q$Wg|_||_dS(s1Move all of this tag's children into another tag.ii����N(
RRtnext_siblingR�RRvRR�Rtprevious_elementtprevious_siblingtTrueR{RQ(Rt
new_parentRRtnew_parent_elementtfinal_next_elementtnew_parents_last_descendanttnew_parents_last_childt(new_parents_last_descendant_next_elementt	to_appendtfirst_childtlast_childs_last_descendantRg((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pytreparentChildrenOs>			
		
				
		cCsa|jj|jj|j�}t||j|j�}x$|jD]\}}||j|<q@W|S(N(RRIRRR+RJR@Re(RRKRStkeyRf((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyt	cloneNode�s
cCs
|jjS(N(RRR(R((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyt
hasContent�scCs4|jdkr td|jfS|j|jfSdS(Nthtml(RJRRR+(R((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pytgetNameTuple�sN(R5R6R>RTR�R�tpropertyReRR�R�R�R�R�R�R�t	nameTuple(((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyR@�s		6					B			RMcBseZd�Zd�ZRS(cCs)tjj|d�||_||_dS(N(RVRzR>RRRR(RRRR((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyR>�s	cCs
t�dS(N(tNotImplementedError(R((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyR��s(R5R6R>R�(((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyRM�s	($t__all__RRktbs4.builderRRRRtbs4.elementRRRthtml5lib.constantsRRR	R
RRthtml5lib.treebuildersR
RVRR$tImportErrorteRR�RRWR0tobjectRnRzR@RM(((s9/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyt<module>s$	""

9_�