%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python3.8/html/__pycache__/
Upload File :
Create Path :
Current File : //usr/local/lib/python3.8/html/__pycache__/parser.cpython-38.pyc

U

p©ßa9Eã@sÀdZddlZddlZddlZddlmZdgZe d¡Ze d¡Z	e d¡Z
e d¡Ze d	¡Ze d
¡Z
e d¡Ze d¡Ze d
¡Ze dej¡Ze d
¡Ze d¡ZGdd„dejƒZdS)zA parser for HTML and XHTML.éN)ÚunescapeÚ
HTMLParserz[&<]z
&[a-zA-Z#]z%&([a-zA-Z][-.a-zA-Z0-9]*)[^a-zA-Z0-9]z)&#(?:[0-9]+|[xX][0-9a-fA-F]+)[^0-9a-fA-F]z	<[a-zA-Z]ú>z--\s*>z+([a-zA-Z][^\t\n\r\f />\x00]*)(?:\s|/(?!>))*z]((?<=[\'"\s/])[^\s/>][^\s/=>]*)(\s*=+\s*(\'[^\']*\'|"[^"]*"|(?![\'"])[^>\s]*))?(?:\s|/(?!>))*aF
  <[a-zA-Z][^\t\n\r\f />\x00]*       # tag name
  (?:[\s/]*                          # optional whitespace before attribute name
    (?:(?<=['"\s/])[^\s/>][^\s/=>]*  # attribute name
      (?:\s*=+\s*                    # value indicator
        (?:'[^']*'                   # LITA-enclosed value
          |"[^"]*"                   # LIT-enclosed value
          |(?!['"])[^>\s]*           # bare value
         )
        \s*                          # possibly followed by a space
       )?(?:\s|/(?!>))*
     )*
   )?
  \s*                                # trailing whitespace
z#</\s*([a-zA-Z][-.a-zA-Z0-9:_]*)\s*>c@sèeZdZdZdZddœdd„Zdd„Zd	d
„Zdd„Zd
Z	dd„Z
dd„Zdd„Zdd„Z
dd„Zd9dd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd
S):raEFind tags and other markup and call handler functions.

    Usage:
        p = HTMLParser()
        p.feed(data)
        ...
        p.close()

    Start tags are handled by calling self.handle_starttag() or
    self.handle_startendtag(); end tags by self.handle_endtag().  The
    data between tags is passed from the parser to the derived class
    by calling self.handle_data() with the data as argument (the data
    may be split up in arbitrary chunks).  If convert_charrefs is
    True the character references are converted automatically to the
    corresponding Unicode character (and self.handle_data() is no
    longer split in chunks), otherwise they are passed by calling
    self.handle_entityref() or self.handle_charref() with the string
    containing respectively the named or numeric reference as the
    argument.
    )ZscriptÚstyleT)Úconvert_charrefscCs||_| ¡dS)zÆInitialize and reset this instance.

        If convert_charrefs is True (the default), all character references
        are automatically converted to the corresponding Unicode characters.
        N)rÚreset)Úselfr©r	ú'/usr/local/lib/python3.8/html/parser.pyÚ__init__WszHTMLParser.__init__cCs(d|_d|_t|_d|_tj |¡dS)z1Reset this instance.  Loses all unprocessed data.Úz???N)ÚrawdataÚlasttagÚinteresting_normalÚinterestingÚ
cdata_elemÚ_markupbaseÚ
ParserBaser©rr	r	r
r`s
zHTMLParser.resetcCs|j||_| d¡dS)z‘Feed data to the parser.

        Call this as often as you want, with as little or as much text
        as you want (may include '\n').
        rN)r
Úgoahead©rÚdatar	r	r
ÚfeedhszHTMLParser.feedcCs| d¡dS)zHandle any buffered data.éN)rrr	r	r
ÚcloseqszHTMLParser.closeNcCs|jS)z)Return full source of start tag: '<...>'.)Ú_HTMLParser__starttag_textrr	r	r
Úget_starttag_textwszHTMLParser.get_starttag_textcCs$| ¡|_t d|jtj¡|_dS)Nz</\s*%s\s*>)ÚlowerrÚreÚcompileÚIr)rÚelemr	r	r
Úset_cdata_mode{s
zHTMLParser.set_cdata_modecCst|_d|_dS©N)rrrrr	r	r
Úclear_cdata_modeszHTMLParser.clear_cdata_modecCsX|j}d}t|ƒ}||krè|jrv|jsv| d|¡}|dkr | dt||dƒ¡}|dkrpt d¡ 	||¡spqè|}n*|j
 	||¡}|r’| ¡}n|jrœqè|}||krÞ|jrÌ|jsÌ| t
|||…ƒ¡n| |||…¡| ||¡}||kröqè|j}|d|ƒrJt ||¡r"| |¡}	n†|d|ƒr:| |¡}	nn|d|ƒrR| |¡}	nV|d|ƒrj| |¡}	n>|d	|ƒr‚| |¡}	n&|d
|krè| d¡|d
}	nqè|	dkr<|s¼qè| d|d
¡}	|	dkrú| d|d
¡}	|	dkr|d
}	n|	d
7}	|jr*|js*| t
|||	…ƒ¡n| |||	…¡| ||	¡}q|d|ƒrðt ||¡}|r²| ¡d
d…}
| |
¡| ¡}	|d|	d
ƒs¢|	d
}	| ||	¡}qn<d||d…krè| |||d
…¡| ||d
¡}qèq|d|ƒrÚt ||¡}|rP| d
¡}
| |
¡| ¡}	|d|	d
ƒsB|	d
}	| ||	¡}qt ||¡}|rª|rè| ¡||d…krè| ¡}	|	|kr”|}	| ||d
¡}qèn.|d
|krè| d¡| ||d
¡}nqèqdstdƒ‚q|rF||krF|jsF|jr(|js(| t
|||…ƒ¡n| |||…¡| ||¡}||d…|_dS)Nrú<ú&é"z[\s;]ú</ú<!--ú<?ú<!rrz&#ééÿÿÿÿú;zinteresting.search() lied)r
ÚlenrrÚfindÚrfindÚmaxrrÚsearchrÚstartÚhandle_datarZ	updateposÚ
startswithÚstarttagopenÚmatchÚparse_starttagÚparse_endtagÚ
parse_commentÚparse_piÚparse_html_declarationÚcharrefÚgroupÚhandle_charrefÚendÚ	entityrefÚhandle_entityrefÚ
incompleteÚAssertionError)rrAr
ÚiÚnÚjZampposr8r6ÚkÚnamer	r	r
r†sÄ
ÿ











zHTMLParser.goaheadcCs¾|j}|||d…dks"tdƒ‚|||d…dkr@| |¡S|||d…dkr^| |¡S|||d… ¡d	kr°| d
|d¡}|dkr’dS| ||d|…¡|dS| |¡SdS)
Nr,r+z+unexpected call to parse_html_declaration()ér)éz<![é	z	<!doctyperr-r)r
rEr;Zparse_marked_sectionrr0Úhandle_declÚparse_bogus_comment)rrFr
Úgtposr	r	r
r=s

z!HTMLParser.parse_html_declarationrcCs`|j}|||d…dks"tdƒ‚| d|d¡}|dkr>dS|rX| ||d|…¡|dS)Nr,)r+r(z"unexpected call to parse_comment()rr-r)r
rEr0Úhandle_comment)rrFZreportr
Úposr	r	r
rOszHTMLParser.parse_bogus_commentcCsd|j}|||d…dks"tdƒ‚t ||d¡}|s:dS| ¡}| ||d|…¡| ¡}|S)Nr,r*zunexpected call to parse_pi()r-)r
rEÚpicloser3r4Ú	handle_pirA)rrFr
r8rHr	r	r
r<!szHTMLParser.parse_picCsìd|_| |¡}|dkr|S|j}|||…|_g}t ||d¡}|sPtdƒ‚| ¡}| d¡ ¡|_	}||kr.t
 ||¡}|sŠq.| ddd¡\}	}
}|
s¨d}n\|dd…dkrÌ|dd…ksøn|dd…dkrô|dd…krnn|dd…}|rt|ƒ}| |	 ¡|f¡| ¡}ql|||… 
¡}|d	kr¬| ¡\}
}d
|jkrˆ|
|j d
¡}
t|jƒ|j d
¡}n|t|jƒ}| |||…¡|S| d¡rÆ| ||¡n"| ||¡||jkrè| |¡|S)Nrrz#unexpected call to parse_starttag()r,rLú'r-ú")rú/>Ú
rW)rÚcheck_for_whole_start_tagr
Útagfind_tolerantr8rErAr?rrÚattrfind_tolerantrÚappendÚstripZgetposÚcountr/r1r5ÚendswithÚhandle_startendtagÚhandle_starttagÚCDATA_CONTENT_ELEMENTSr")rrFÚendposr
Úattrsr8rIÚtagÚmÚattrnameÚrestZ	attrvaluerAÚlinenoÚoffsetr	r	r
r9-s\

&
ÿ
ÿ


ÿ
zHTMLParser.parse_starttagcCs¶|j}t ||¡}|rª| ¡}|||d…}|dkr>|dS|dkr~| d|¡rZ|dS| d|¡rjdS||krv|S|dS|dkrŠdS|dkr–dS||kr¢|S|dStd	ƒ‚dS)
Nrrú/rWr,r-rz6abcdefghijklmnopqrstuvwxyz=/ABCDEFGHIJKLMNOPQRSTUVWXYZzwe should not get here!)r
Úlocatestarttagend_tolerantr8rAr6rE)rrFr
rfrHÚnextr	r	r
rY`s.z$HTMLParser.check_for_whole_start_tagcCs.|j}|||d…dks"tdƒ‚t ||d¡}|s:dS| ¡}t ||¡}|sÜ|jdk	rr| |||…¡|St	 ||d¡}|s¬|||d…dkr¢|dS| 
|¡S| d¡ ¡}| 
d| ¡¡}| |¡|dS| d¡ ¡}|jdk	r||jkr| |||…¡|S| |¡| ¡|S)	Nr,r(zunexpected call to parse_endtagrr-rLz</>r)r
rEÚ	endendtagr3rAÚ
endtagfindr8rr5rZrOr?rr0Ú
handle_endtagr$)rrFr
r8rPZ	namematchZtagnamer!r	r	r
r:‚s8



zHTMLParser.parse_endtagcCs| ||¡| |¡dSr#)rarp©rrerdr	r	r
r`ªszHTMLParser.handle_startendtagcCsdSr#r	rqr	r	r
ra¯szHTMLParser.handle_starttagcCsdSr#r	)rrer	r	r
rp³szHTMLParser.handle_endtagcCsdSr#r	©rrJr	r	r
r@·szHTMLParser.handle_charrefcCsdSr#r	rrr	r	r
rC»szHTMLParser.handle_entityrefcCsdSr#r	rr	r	r
r5¿szHTMLParser.handle_datacCsdSr#r	rr	r	r
rQÃszHTMLParser.handle_commentcCsdSr#r	)rZdeclr	r	r
rNÇszHTMLParser.handle_declcCsdSr#r	rr	r	r
rTËszHTMLParser.handle_picCsdSr#r	rr	r	r
Úunknown_declÎszHTMLParser.unknown_declcCstjdtddt|ƒS)NzZThe unescape method is deprecated and will be removed in 3.5, use html.unescape() instead.r,)Ú
stacklevel)ÚwarningsÚwarnÚDeprecationWarningr)rÚsr	r	r
rÒs
þzHTMLParser.unescape)r)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rbrrrrrrr"r$rr=rOr<r9rYr:r`rarpr@rCr5rQrNrTrsrr	r	r	r
r?s8		z
3"()r|rrurZhtmlrÚ__all__rrrDrBr>r7rSZcommentcloserZr[ÚVERBOSErlrnrorrr	r	r	r
Ú<module>s,








ÿò



Zerion Mini Shell 1.0