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/_htmlparser.pyc
�
��\[c@sdZdgZddlmZyddlmZWn)ek
r^Zdefd��YZnXddlZddlZej	d \Z
ZZe
dko�ed	ko�edkZ
e
dko�edkZe
dko�ed
kZddlmZmZmZmZmZddlmZmZdd
lmZmZmZdZdefd��YZdefd��YZe
dkred	kre
rddl Z e j!d�Z"e"e_"e j!de j#�Z$e$e_$ddl%m&Z&m'Z'd�Z(d�Z)e(e_(e)e_)e*Z
ndS(sCUse the HTMLParser library to parse HTML files that aren't too bad.tHTMLParserTreeBuilderi����(t
HTMLParser(tHTMLParseErrorRcBseZRS((t__name__t
__module__(((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pyRsNiii(tCDatatCommenttDeclarationtDoctypetProcessingInstruction(tEntitySubstitutiont
UnicodeDammit(tHTMLtHTMLTreeBuildertSTRICTshtml.parsertBeautifulSoupHTMLParsercBszeZd�Zd�Zd�Zed�Zed�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�ZRS(cOs tj|||�g|_dS(N(Rt__init__talready_closed_empty_element(tselftargstkwargs((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pyR9s	cCstj|�dS(siIn Python 3, HTMLParser subclasses must implement error(), although this
        requirement doesn't appear to be documented.

        In Python 2, HTMLParser implements error() as raising an exception.

        In any event, this method is called only on very strange markup and our best strategy
        is to pretend it didn't happen and keep going.
        N(twarningstwarn(Rtmsg((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pyterrorEs	cCs)|j||dt�}|j|�dS(Nthandle_empty_element(thandle_starttagtFalset
handle_endtag(Rtnametattrsttag((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pythandle_startendtagPsc	Cs�i}x9|D]1\}}|dkr.d}n|||<d}q
W|jj|dd|�}|r�|jr�|r�|j|dt�|jj|�ndS(Nts""tcheck_already_closed(tNonetsoupRtis_empty_elementRRRtappend(	RRRRt	attr_dicttkeytvaluet	attrvalueR((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pyR[s	


cCs<|r(||jkr(|jj|�n|jj|�dS(N(RtremoveR$R(RRR"((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pyRwscCs|jj|�dS(N(R$thandle_data(Rtdata((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pyR,�scCs"|jd�r*t|jd�d�}n6|jd�rTt|jd�d�}nt|�}d}|dkr�x[|jjdfD]D}|s�q�nyt|g�j|�}Wq�tk
r�}q�Xq�Wn|syt	|�}Wqt
tfk
r}qXn|pd}|j|�dS(NtxitXiswindows-1252u�(
t
startswithtinttlstripR#R$toriginal_encodingt	bytearraytdecodetUnicodeDecodeErrortunichrt
ValueErrort
OverflowErrorR,(RRt	real_nameR-tencodingte((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pythandle_charref�s*cCsBtjj|�}|dk	r'|}n
d|}|j|�dS(Ns&%s(R
tHTML_ENTITY_TO_CHARACTERtgetR#R,(RRt	characterR-((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pythandle_entityref�s
	
cCs1|jj�|jj|�|jjt�dS(N(R$tendDataR,R(RR-((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pythandle_comment�s
cCsh|jj�|jd�r/|td�}n|dkrDd}n|jj|�|jjt�dS(NsDOCTYPE tDOCTYPER!(R$RBR0tlenR,R(RR-((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pythandle_decl�s
	cCse|j�jd�r.t}|td�}nt}|jj�|jj|�|jj|�dS(NsCDATA[(tupperR0RRERR$RBR,(RR-tcls((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pytunknown_decl�s
cCs1|jj�|jj|�|jjt�dS(N(R$RBR,R	(RR-((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pyt	handle_pi�s
(RRRRR tTrueRRR,R=RARCRFRIRJ(((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pyR7s					!	
		
	
cBsMeZeZeZeZeee	gZ
d�Zdddd�Z
d�ZRS(cOs@trtrt|d<ntr-t|d<n||f|_dS(Ntstricttconvert_charrefs(tCONSTRUCTOR_TAKES_STRICTt CONSTRUCTOR_STRICT_IS_DEPRECATEDRt"CONSTRUCTOR_TAKES_CONVERT_CHARREFStparser_args(RRR((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pyR�s



ccslt|t�r$|ddtfVdS||g}t||dtd|�}|j|j|j|j	fVdS(s�
        :return: A 4-tuple (markup, original encoding, encoding
        declared within markup, whether any characters had to be
        replaced with REPLACEMENT CHARACTER).
        Ntis_htmltexclude_encodings(
t
isinstancetunicodeR#RRRKtmarkupR3tdeclared_html_encodingtcontains_replacement_characters(RRVtuser_specified_encodingtdocument_declared_encodingRSt
try_encodingstdammit((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pytprepare_markup�s	cCs�|j\}}t||�}|j|_y|j|�|j�Wn,tk
rs}tjtd��|�nXg|_	dS(Ns*Python's built-in HTMLParser cannot parse the given document. This is not a bug in Beautiful Soup. The best solution is to install an external parser (lxml or html5lib), and use Beautiful Soup with that parser. See http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser for help.(
RQRR$tfeedtcloseRRRtRuntimeWarningR(RRVRRtparserR<((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pyR^�s
	

N(RRRtis_xmlRKt	picklablet
HTMLPARSERtNAMERRtfeaturesRR#R]R^(((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pyR�s	sQ\s*((?<=[\'"\s])[^\s/>][^\s/=>]*)(\s*=+\s*(\'[^\']*\'|"[^"]*"|(?![\'"])[^>\s]*))?s�
  <[a-zA-Z][-.a-zA-Z0-9:_]*          # tag name
  (?:\s+                             # whitespace before attribute name
    (?:[a-zA-Z_][-.:a-zA-Z0-9_]*     # attribute name
      (?:\s*=\s*                     # value indicator
        (?:'[^']*'                   # LITA-enclosed value
          |\"[^\"]*\"                # LIT-enclosed value
          |[^'\">\s]+                # bare value
         )
       )?
     )
   )*
  \s*                                # trailing whitespace
(ttagfindtattrfindcCs�d|_|j|�}|dkr(|S|j}|||!|_g}tj||d�}|sotd��|j�}||d|!j�|_	}x||kr�|j
r�tj||�}ntj||�}|s�Pn|j
ddd�\}	}
}|
sd}nX|d dko.|dknsW|d dkoR|dknrg|dd!}n|r|j|�}n|j|	j�|f�|j�}q�W|||!j�}|dkrv|j�\}
}d|jkr |
|jjd�}
t|j�|jjd�}n|t|j�}|j
r^|jd|||!d
 f�n|j|||!�|S|jd
�r�|j||�n/|j||�||jkr�|j|�n|S(Niis#unexpected call to parse_starttag()iis'i����t"t>s/>s
s junk characters in start tag: %ri(Rjs/>(R#t__starttag_texttcheck_for_whole_start_tagtrawdataRgtmatchtAssertionErrortendtlowertlasttagRLRhtattrfind_toleranttgrouptunescapeR&tstriptgetpostcountREtrfindRR,tendswithR RtCDATA_CONTENT_ELEMENTStset_cdata_mode(RtitendposRmRRntkRtmtattrnametrestR*Rptlinenotoffset((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pytparse_starttags\				$$		cCs2|j�|_tjd|jtj�|_dS(Ns</\s*%s\s*>(Rqt
cdata_elemtretcompiletItinteresting(Rtelem((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pyR|Ts(+t__doc__t__all__RRtImportErrorR<t	ExceptiontsysRtversion_infotmajortminortreleaseRNRORPtbs4.elementRRRRR	t
bs4.dammitR
Rtbs4.builderRR
RRdRRR�R�RstVERBOSEtlocatestarttagendthtml.parserRgRhR�R|RK(((s;/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pyt<module>s@		$(�2		
		7