B ×]ƒIã@s Gdd„dƒZGdd„dƒZdS)c@s¦eZdZdgdd„Zdd„Zdhdd„Zd d „Zd d „Zd d„Zdd„Z dd„Z dd„Z dd„Z didd„Z dd„Zdjdd„Zdkdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Zd;d<„Zd=d>„Z d?d@„Z!dAdB„Z"dCdD„Z#dEdF„Z$dGdH„Z%dIdJ„Z&dKdL„Z'dMdN„Z(dOdP„Z)dQdR„Z*dSdT„Z+dUdV„Z,dWdX„Z-dYdZ„Z.d[d\„Z/d]d^„Z0d_d`„Z1dadb„Z2dcdd„Z3dedf„Z4dS)lÚ Node2XHTMLNc Csª||_d|_|jj|_|dkr&|jj}||_|dk r:||_d|_g|_d|_d|_|  g¡d}|j  |j  dd|j  dd¡|j  d d |¡f¡¡|dk r¦|  |¡dS) NFéézutf-8ÚmetaÚz http-equiv=z Content-Typezcontent=ztext/html; charset=%s) ÚmodÚ valid_html40ÚencodeÚ encode_nameÚ error_reportÚ document_langÚ header_nodesÚindentÚ indentstepÚset_outÚappendÚ node_of_taciÚaccept)ÚselfrÚnoder r Úcharset©rúB/opt/alt/python37/lib64/python3.7/site-packages/guppy/gsl/XHTML.pyÚ__init__s*    zNode2XHTML.__init__c CsL| ¡\}}|jj}x2|jD](}y| |¡Wq|k rBYqXqWdS)N)Ú split_attrsrZ ReportedErrorÚchildrenr)rrÚattrsÚEÚchrrrÚ_visit_children"s  zNode2XHTML._visit_childrenrcCspd|}|r|d|}||jjkr,|d7}|d7}||jjkrRd|jd|}| |¡|j|j7_dS)Nú<ú z /ú>Ú )rÚ_no_end_tag_elementsZline_break_allowedr rr)rÚtagÚargÚtrrrÚbegin,s    zNode2XHTML.begincCs|j}| |¡|S)N)Úoutr)rr(ZoorrrÚchg_out<s zNode2XHTML.chg_outcCs:| |jj¡r$|t|jjƒd…}nds,t‚| |¡}|S)Nr)Ú startswithrZ tgt_prefixÚlenÚAssertionErrorr )rÚnamerrrÚencode_link_nameAs  zNode2XHTML.encode_link_namecCs"|j|j8_| d|¡dS)Nz)r rr)rr$rrrÚendMszNode2XHTML.endcOsd|}|j|f|ž|ŽdS)Nz Doc2XHTML: )r )rÚmsgÚargsÚkwdsrrrÚerrorQszNode2XHTML.errorcOstd|d|d|ƒt‚dS)NzHTML ENCODING ERROR: zargs=zkwds=)ÚprintÚ ValueError)rr0r1r2rrrr UszNode2XHTML.error_reportcCsxd}|r| d¡n | d¡| dd| |¡¡| d¡x|D]}| |¡qDW| d¡| d¡| d¡dS) Nrzp z| Úhtmlz,lang=%r xmlns="http://www.w3.org/1999/xhtml"ÚheadÚbodyÚdiv)rr'Úget_encoded_textÚ gen_stdhtmlr/)rÚlangr ÚstrictrrrrÚgen_document_headerYs     zNode2XHTML.gen_document_headercCs"| d¡| d¡| d¡dS)Nr9r8r6)r/)rrrrÚgen_document_trailerzs  zNode2XHTML.gen_document_trailercCs | ||¡|j|j8_dS)N)r'r r)rr$r%rrrÚgen_empty_elmts zNode2XHTML.gen_empty_elmtcCsX| d¡| d¡| dd¡| d¡| d¡| d|jj |jj ¡¡¡dS)NÚhrz Generated by Úaz5href="https://zhuyifei1999.github.io/guppy3/gsl.html"zGSL-XHTML 0.1.7z on )r@rr'r/rZtimeZasctimeZ localtime)rrrrÚgen_generated_from_gslƒs      z!Node2XHTML.gen_generated_from_gslc CsD|jj}|dkr|j}|j |dd|d|ƒ|d|j|jƒgƒ¡dS)Nrrzname=zcontent=)rrr$r rr%r)rrr$ÚmknoderrrÚgen_metaszNode2XHTML.gen_metacKsŽ|dkr|j}| |¡\}}| |d dd„|Dƒ¡¡||jjkrv|jrZ| d|j¡| |¡|j |j 8_ n|  |¡|  |¡dS)Nr cSsg|]\}}d||f‘qS)z%s=%rr)Ú.0ÚkeyÚvalrrrú šsz*Node2XHTML.gen_stdhtml..z*No enclosed text allowed for Html tag: %r.) r$rr'Újoinrr#r%r3Ú no_childrenr rZ arg_acceptr/)rrr$Zoptionsrrrrr;–s     zNode2XHTML.gen_stdhtmlcCsd| g¡}| | |j¡¡x6|jD],}|jdkr>| |¡q$| d|j|¡q$Wd | |¡¡S)N)ÚtextÚcharz(Only text and char allowed here, not %r.r) r)rrr%rr$rr3rJ)rrZold_outrrrrr:¦s    zNode2XHTML.get_encoded_textcCs d |j¡S)Nr)rJr()rrrrÚget_html²szNode2XHTML.get_htmlcCs |jr| d|j|jf¡dS)Nz4No children allowed for %r. Got children nodes = %r.)rr3r$)rrrrrrKµszNode2XHTML.no_childrencCs||_|j|_|j|_dS)N)r(Úextendr)rr(rrrrºszNode2XHTML.set_outcCs| |¡dS)N)rE)rrrrrÚ visit_author¿szNode2XHTML.visit_authorcCs| |¡dS)N)r)rrrrrÚ visit_blockÂszNode2XHTML.visit_blockcCs¤| ¡}||jjkrd|}nn|dd…dkrBt|dd…dƒ}n"| ¡rTt|ƒ}n| d||¡|jj |¡}|dkr„d|}nd|}| |¡|  |¡dS)Nz&%s;éZ0xézNo such character: %r.z&#%d;) Z get_nameargrZname2codepointÚintÚisdigitr3Zcodepoint2nameÚgetrr)rrr-rMrrrÚ visit_charÅs     zNode2XHTML.visit_charcCs| d|j¡dS)Nz)rr%)rrrrrÚvisit_col_widthØszNode2XHTML.visit_col_widthcCsdS)Nr)rrrrrÚ visit_commentÛszNode2XHTML.visit_commentcCsL|j|jjkr6|j|jjkr*|j |¡qH| |¡n| d|j|¡dS)Nz-I don't know what to generate for the tag %r.)r$rZstdhtmlÚ_head_elementsZ head_nodesrr;r3)rrrrrÚ visit_defaultßs  zNode2XHTML.visit_defaultcCs4| |j¡}| dd|¡| |¡| d¡dS)NrBzname=%r)r.r%r'rr/)rrr-rrrÚ visit_defineés  zNode2XHTML.visit_definecCsld|_| g¡}| |¡| |¡}|jj}|j}|s@|ddƒ}d|_| ||j¡|j  |¡|  ¡dS)NrRr Zenr) r r)rrrr r>r r(rOr?)rrZoldoutZnewoutrDr<rrrÚvisit_documentïs     zNode2XHTML.visit_documentcCs |jdk r| d|¡||_dS)Nz"Duplicate document lang directive.)r r3)rrrrrÚvisit_document_langs  zNode2XHTML.visit_document_langcCs|j |j d|j¡¡dS)NÚtitle)r rrrr%)rrrrrÚvisit_document_titleszNode2XHTML.visit_document_titlecCsF| d¡x,|jD]"}| d¡| |¡| d¡qW| d¡dS)NÚolÚli)r'rrr/)rrÚcrrrÚvisit_enumerate s     zNode2XHTML.visit_enumeratecCsJi|_x>|jD]4}dd„|j d¡Dƒ}x|D]}|j|j|<q.WqWdS)NcSsg|] }| ¡‘qSr)Ústrip)rFÚxrrrrIsz+Node2XHTML.visit_exdefs..ú,)Zsymplacerr%Úsplitr$)rrrZsymsZsymrrrÚ visit_exdefss   zNode2XHTML.visit_exdefscCs | ¡dS)N)rC)rrrrrÚvisit_generated_from_gslsz#Node2XHTML.visit_generated_from_gslcCs|j |j¡dS)N)r rOr)rrrrrÚ visit_headerszNode2XHTML.visit_headercCsF| d¡x,|jD]"}| d¡| |¡| d¡qW| d¡dS)NÚulrb)r'rrr/)rrrcrrrÚ visit_itemizes     zNode2XHTML.visit_itemizecCs~|j}|jdj}|jdd…}d|| |¡f}| dd|¡|sX| | |¡¡nx|D]}| |¡q^W| d¡dS)Nrrz %s.html#%srBzhref=%r)r%rr.r'rrrr/)rrr-ZdocnamerÚurirrrrÚvisit_link_to_extern&s  zNode2XHTML.visit_link_to_externcCsT|j}d| |¡}| dd|¡|js<| | |¡¡n | |¡| d¡dS)Nz#%srBzhref=%r)r%r.r'rrrrr/)rrr-rnrrrÚvisit_link_to_local3s zNode2XHTML.visit_link_to_localcCs@|j}| d¡|js(| | |¡¡n | |¡| d¡dS)NÚem)r%r'rrrrr/)rrr-rrrÚvisit_link_to_unresolved=s   z#Node2XHTML.visit_link_to_unresolvedcCs| |d¡dS)NÚpre)r;)rrrrrÚvisit_literal_blockFszNode2XHTML.visit_literal_blockcCs| |¡dS)N)r)rrrrrÚvisit_man_page_modeIszNode2XHTML.visit_man_page_modecCs|j |¡dS)N)Zdocument_metasr)rrrrrÚ visit_metaLszNode2XHTML.visit_metacCs| d¡dS)Nz: )r)rrrrrÚvisit_spc_colonkindOszNode2XHTML.visit_spc_colonkindcCs| d¡dS)Nz -> )r)rrrrrÚvisit_spc_mapstoTszNode2XHTML.visit_spc_mapstocCs| |¡dS)N)r)rrrrrÚ visit_stringWszNode2XHTML.visit_stringcCs| |¡dS)N)Ú visit_text)rrrrrÚ visit_symbolZszNode2XHTML.visit_symbolcCsB| |j¡}t|ƒdks d|kr*| d¡| |¡| |¡dS)NéPr")rr%r+rr)rrrLrrrrz]s    zNode2XHTML.visit_textcCs| |¡dS)N)r)rrrrrÚvisit_to_document_onlydsz!Node2XHTML.visit_to_document_onlycCs| |¡dS)N)r)rrrrrÚvisit_to_html_onlygszNode2XHTML.visit_to_html_onlycCsdS)Nr)rrrrrÚvisit_to_tester_onlyjszNode2XHTML.visit_to_tester_onlycCs2||_|jjdd\}}| d| dd¡¡dS)NT)Zattrdictz Valid HTML 4.0 Strict Úsrcz$http://www.w3.org/Icons/valid-html40)rrrrV)rrrrrrÚvisit_valid_html40mszNode2XHTML.visit_valid_html40cCsdS)Nr)rrrrrÚ visit_withyszNode2XHTML.visit_withcCs| |¡dS)N)r)rrrrrÚ visit_word|szNode2XHTML.visit_word)NNN)r)r)N)N)5Ú__name__Ú __module__Ú __qualname__rrr'r)r.r/r3r r>r?r@rCrEr;r:rNrKrrPrQrWrXrYr[r\r]r^r`rdrirjrkrmrorprrrtrurvrwrxryr{rzr}r~rrr‚rƒrrrrrsd   !        rc@seZdZdZdZdZdZdZdZdZ dZ d Z d e d Z d Z d d„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!S)"Ú _GLUECLAMP_) z_parent:SpecNodesz_parent.SpecNodes:node_of_taciz_parent.Gsml:is_not_asciiz_parent.Main:tgt_prefixz_parent.Main:ReportedErrorz#_root.htmlentitydefs:name2codepointz#_root.htmlentitydefs:codepoint2namez_root:rez _root:time)Útag_uppercase_name_charsr)7rBÚaddressZareaÚbÚbaseZbigÚ blockquoter8ÚbrÚcaptionÚcenterZciteÚcodeZdfnÚdtÚdlÚddr9rqÚformÚh1Úh2Úh3Úh4Úh5Úh6rAr6ÚiÚimgÚinputZkbdrbraÚoptionÚpZparamrsZsampÚselectZsmallZstrongÚstyleÚsubZsupÚtableÚtdÚtextareaÚthÚtheadr_ÚtrZttrlÚvar)ZappletZbasefontÚdirZfontÚisindexZstrikeÚu)Úscript)ZabbrZacronymZbdoÚbuttonÚcolÚcolgroupÚdelÚfieldsetÚframeÚframesetZiframeÚinsÚlabelÚlegendZnoframesÚnoscriptÚobjectÚoptgroupÚqÚsÚspanÚtbodyÚtfootr§)r‹r«Úlinkrr­r¡r_)rrÀrœrA)r6r7r8r´)-r‰rŒrr±r9r•r–r—r˜r™ršrArµr«r¸rŸrsrªr’r‘r“rbZmenurarlr£rŽr°r¯r§r¿r¾r¨r¤r¦r”r®r²r·rr¶r rºržr¥)r-z http-equivZcontentZschemer<rªcCs|j d¡jS)Nz[A-Za-z])ÚreÚcompileÚmatch)rrrrÚ_get_is_name_starter_charèsz%_GLUECLAMP_._get_is_name_starter_charcCs|j d¡jS)Nz[A-Za-z0-9\-_:\.])rÁrÂrÃ)rrrrÚ_get_is_name_follower_charîsz&_GLUECLAMP_._get_is_name_follower_charcCs,i}x"|j|j|jD] }d||<qW|S)Nr)Ú_html3_2Ú_html4_0_deprecatedÚ_html4_0)rÚshrfrrrÚ _get_stdhtmlõs z_GLUECLAMP_._get_stdhtmlcCs i}x|jD] }d||<q W|S)Nr)Ú_line_break_allowed)rrÉrfrrrÚ_get_line_break_allowedûs  z#_GLUECLAMP_._get_line_break_allowedc Cs:| ||¡}|j |d|¡}| d|| d|¡g¡}|S)Nz%s.htmlZ write_filerL)Údoc2textÚpathrJr) rÚdocrr-rªZoptsZIOrLrÎrrrÚ doc2filers  z_GLUECLAMP_.doc2filercCst|||jjƒ}| ¡S)N)rÚenvr3rN)rrÏrZd2hrrrrÍsz_GLUECLAMP_.doc2textc Cs.| |¡}t|dƒ}| |¡WdQRXdS)NÚw)Ú node2textÚopenÚwrite)rrÚfilerLÚfrrrÚ node2file s  z_GLUECLAMP_.node2filecCst||ƒ ¡}|S)N)rrN)rrrLrrrrÓsz_GLUECLAMP_.node2textcCs@| dd¡}| dd¡}| dd¡}| dd¡}| d d ¡}|S) z-Encode special characters in `text` & return.ú&z&rz<ú"z"r!z>ú@z@)Úreplace)rrLrrrrs      z_GLUECLAMP_.encodecCsø|j}g}|j}d}|dd…}|dks2| |¡sJ|dƒ|dkrJ|dƒx–|D]Ž}|dksd||ƒsž|rt|dƒd}|dƒ|dkr”|dt|ƒƒ|dƒqP| ¡rÆ|jrÆ|s¼|dƒd}||ƒqP|rÖ|dƒd}||ƒqPW|rî|dƒd |¡S)NrrÚzú-z%dr)Úis_name_follower_charrZis_name_starter_charÚordÚisupperrˆrJ)rr-rßÚnsrZ upperstaterrrrr (s<     z_GLUECLAMP_.encode_nameN)r„r…r†Z _imports_Z _chgable_rˆrÆrÇZ _html_avoidrÈrZr#rËZmeta_attributesrÄrÅrÊrÌrÐrÍrØrÓrr rrrrr‡€s,    r‡N)rr‡rrrrÚs