usr/lib64/python2.7/markupbase.pyc000064400000022125147207507600012726 0ustar00 mfc@s}dZddlZejdjZejdjZejdZejdZejdZ[dd d YZ dS( sShared support for scanning document type declarations in HTML and XHTML. This module is used as a foundation for the HTMLParser and sgmllib modules (indirectly, for htmllib as well). It has no documented public API and should not be used directly. iNs[a-zA-Z][-_.a-zA-Z0-9]*\s*s(\'[^\']*\'|"[^"]*")\s*s--\s*>s ]\s*]\s*>s]\s*>t ParserBasecBseZdZdZdZdZdZdZdZdZ dd Z dd Z d Z d Z d ZdZdZdZdZRS(siParser base class which provides some common support methods used by the SGML/HTML and XHTML parsers.cCs"|jtkrtdndS(Ns(markupbase.ParserBase must be subclassed(t __class__Rt RuntimeError(tself((s"/usr/lib64/python2.7/markupbase.pyt__init__scCstddS(Ns.subclasses of ParserBase must override error()(tNotImplementedError(Rtmessage((s"/usr/lib64/python2.7/markupbase.pyterror!scCsd|_d|_dS(Nii(tlinenotoffset(R((s"/usr/lib64/python2.7/markupbase.pytreset%s cCs|j|jfS(s&Return current line number and offset.(RR (R((s"/usr/lib64/python2.7/markupbase.pytgetpos)scCs||kr|S|j}|jd||}|rm|j||_|jd||}||d|_n|j|||_|S(Ns i(trawdatatcountRtrindexR (RtitjR tnlinestpos((s"/usr/lib64/python2.7/markupbase.pyt updatepos1s  tc Cse|j}|d}|||!dks2td|||d!dkrQ|dS|||d!dkrldSt|}|||d!d kr|j|S||d kr|j|S|j||\}}|d kr|S|d krd|_nxe||kr`||}|dkr`||d|!}|d krK|j|n |j||dS|d krt ||}|sdS|j }n|dkr|j||\} }n||jkr|d}nv|d kr8|d kr|j |d|}qM|dkr(|j d|qM|j dn|j d|||d kr|SqWdS(Nist-Ris--t[itdoctypes"'t4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZtattlisttlinktypetlinktelements&unsupported '[' char in %s declarations"unexpected '[' char in declarations!unexpected %r char in declaration(RR(RRslinkselement( R tAssertionErrortlent parse_commenttparse_marked_sectiont _scan_namet_decl_othercharst handle_declt unknown_declt_declstringlit_matchtendt_parse_doctype_subsetR( RRR Rtntdecltypetctdatatmtname((s"/usr/lib64/python2.7/markupbase.pytparse_declarationAsZ                   icCs|j}|||d!dks,td|j|d|\}}|dkrX|S|dkr}tj||d}nA|dkrtj||d}n|jd ||d|!|sdS|r|jd}|j||d|!n|j dS(NisR((s"/usr/lib64/python2.7/markupbase.pyR s c Cs|j}t|}|}x||kr||}|dkr|||d!}|dkradS|dkr|j||d|jd|n|d|krdS|d|krdS|||d!dkr|j|d d }|d kr|Sqn|j|d|\}}|dkr+dS|dkr_|j||d|jd|nt|d|} | ||}|d kr|Sq|dkr|d|krdS|j|d|\}}|d kr|S||dkr|d}qq|dkr|d}x*||krB||jrB|d}qW||kr||dkrc|S|j|||jdqdSq|jr|d}q|j|||jd|qWdS(Nts$     cCs1|j}|||d!dkrh|d}xA|||d!}|sHdS|jra|d}q-Pq-n|}|j||\}}|dkr|Sx|j||d!}|sdS|dkrt||}|r|j}q*dSq|dkr|dS|j||\}}|dkr|SqdS(NiREiis'"R(R RIR"R&R'(RRRJR RR+R.R-((s"/usr/lib64/python2.7/markupbase.pyt_parse_doctype_entityUs8        cCs|j}t|}||kr%dSt||}|r|j}|j}|t||krldS|j|jfS|j|||j d|||d!dS(Nisexpected name token at %ri(Ni(Ni( R RtNonet_declname_matchtgrouptstriptlowerR'RR(RRRJR R)R-RKR.((s"/usr/lib64/python2.7/markupbase.pyR"ys      cCsdS(N((RR,((s"/usr/lib64/python2.7/markupbase.pyR%s(t__name__t __module__t__doc__RRR R RR#R/R!R R(RNRRRSRTR"R%(((s"/usr/lib64/python2.7/markupbase.pyRs"      R   C 9  $ (( R\tretcompileR>RVR&R?R8R:R(((s"/usr/lib64/python2.7/markupbase.pyts