403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.216.124
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/Tools/scripts/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/Tools/scripts/__pycache__/texi2html.cpython-36.pyc
3

x2_+�@sddlZddlZddlZddlZdZejd�Zejd�Zejd�Zejd�Z	ejd�Z
Gdd	�d	�ZGd
d�de�ZGdd
�d
�Z
Gdd�de
�ZGdd�d�Zdd�Zdd�Zejd�Zdd�Zdd�ZejejdZdd�Zdd�Zd d!�Zed"k�re�dS)#�Nz\input texinfoz^@([a-z]+)([ 	]|$)z^[ 	]*$z@[a-z]+z	[
@{}&<>]z5^\* ([^:]*):(:|[ \t]*([^\t,\n.]+)([^ \t\n]*))[ \t\n]*c@sbeZdZdZdZdZdZdZdd�Zdd	�Z	d
d�Z
dd
d�Zdd�Zdd�Z
dd�Zdd�ZdS)�HTMLNodez�Some of the parser's functionality is separated into this class.

    A Node accumulates its contents, takes care of links to other Nodes
    and saves itself when it is finished and all links are resolved.
    z2<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">r�z</BODY></HTML>
cCs@||_||_|r||_n||_||_||_||_||_g|_dS)N)�dirname�name�topname�title�next�prev�up�lines)�self�dirrrrrr	r
�r�</opt/alt/python36/lib64/python3.6/Tools/scripts/texi2html.py�__init__gszHTMLNode.__init__cGsx|D]}|jj|�qWdS)N)r�append)rr�linerrr�writets
zHTMLNode.writecCsJt|jdt|j�d�}|j|j�|j|j�|j|j�|j�dS)N�/�w)	�openr�makefilerr�prologue�text�epilogue�close)r�fprrr�flushxs
zHTMLNode.flushNcCsb|r^|j�dkrd}d}nt|�}d|}|j|d|d|rBd|pDd|rPd|pRd|d	|d
�
dS)Nz(dir)z../dir.htmlrz TITLE="%s"z: <A HREF="�"z REL=z REV=�>z</A>  
)�lowerrr)r�label�nodename�relZrev�addrrrrr�linksz
HTMLNode.linkcCs�t|j�}dj|j�|_g|_|j�|j�|j�dj|j�}g|_|jd|jdt	|j
�d|j
dt	|j�d|jdt	|j�d|jd||_
|dkr�d	||_dS)
NrzF
<HTML><HEAD>
  <!-- Converted with texi2html and Python -->
  <TITLE>z </TITLE>
  <LINK REL=Next HREF="z	" TITLE="z">
  <LINK REL=Previous HREF="z">
  <LINK REL=Up HREF="z">
</HEAD><BODY>
�z<P>
%s</BODY></HTML>
)�lenr�joinr�
open_links�output_links�close_links�DOCTYPErrrr	r
rr)rZlength�linksrrr�finalize�s
ZzHTMLNode.finalizecCs|jd�dS)Nz<HR>
)r)rrrrr)�szHTMLNode.open_linkscCs|jd�dS)Nz<HR>
)r)rrrrr+�szHTMLNode.close_linkscCsn|j|jkr|jd|j�|jd|jdd�|jd|jdd�|jd|jdd�|j|jkrj|jd	|j�dS)
Nz  Contz  Next�Next)r#z  PrevZPreviousz  Up�Upz  Top)�contrr%r	r
rr)rrrrr*�szHTMLNode.output_links)NN)�__name__�
__module__�__qualname__�__doc__r,�typer1rrrrr%r.r)r+r*rrrrrZs


rc@s eZdZdZdd�Zdd�ZdS)�	HTML3Nodez;<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML Level 3//EN//3.0">cCs|jd�dS)Nz<DIV CLASS=Navigation>
 <HR>
)r)rrrrr)�szHTML3Node.open_linkscCs|jd�dS)Nz
 <HR>
</DIV>
)r)rrrrr+�szHTML3Node.close_linksN)r2r3r4r,r)r+rrrrr7�sr7c@s�eZdZdZdZdedZdedZdZeZ	dd	�Z
d
d�Zdd
�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Z d6d7�Z!d8d9�Z"d:d;�Z#d<d=�Z$d>d?�Z%d@dA�Z&dBdC�Z'dDdE�Z(dFdG�Z)dHdI�Z*dJdK�Z+dLdM�Z,dNdO�Z-dPdQ�Z.dRdS�Z/dTdU�Z0dVdW�Z1dXdY�Z2dZd[�Z3d\d]�Z4d^d_�Z5d`da�Z6dbdc�Z7ddde�Z8dfdg�Z9dhdi�Z:djdk�Z;dldm�Z<dndo�Z=dpdq�Z>drds�Z?dtdu�Z@dvdw�ZAdxdy�ZBdzd{�ZCd|d}�ZDd~d�ZEd�d��ZFd�d��ZGd�d��ZHd�d��ZId�d��ZJd�d��ZKd�d��ZLd�d��ZMd�d��ZNd�d��ZOd�d��ZPd�d��ZQd�d��ZRd�d��ZSd�d��ZTd�d��ZUd�d��ZVd�d��ZWd�d��ZXd�d��ZYd�d��ZZd�d��Z[d�d��Z\d�d��Z]d�d��Z^d�d��Z_e^Z`e_Zad�d��Zbd�d��Zcd�d��Zdd�d��Zed�d��Zfd�d��Zgd�d��Zhd�dÄZid�dńZjd�dDŽZkd�dɄZld�d˄Zmd�d̈́Znd�dτZod�dфZpd�dӄZqd�dՄZrd�dׄZsd�dلZtd�dۄZud�d݄Zvd�d߄Zwd�d�Zxd�d�Zyd�d�Zzd�d�Z{d�d�Z|d�d�Z}d�d�Z~d�d�Zd�d�Z�d�d�Z�d�d��Z�d�d��Z�d�d��Z�d�d��Z�d�d��Z�d�d��Z��d�d�Z�e^Z�e_Z��d�d�Z��d�d�Z��d�d�Z��d�d	�Z��d
�d�Z��d�d
�Z��d�d�Z�e�Z��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d �d!�Z��d"�d#�Z��d$�d%�Z��d&�d'�Z��d(�d)�Z��d*�d+�Z��d,�d-�Z��d.�d/�Z�e�Z�e�Z�e�Z��d0�d1�Z��d2�d3�Z��d4�d5�Z��d6�d7�Z��d8�d9�Z��d:�d;�Z��d<�d=�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z��d>�d?�Z��d@�dA�Z��dB�dC�Z��dD�dE�Z��dF�dG�Z��dH�dI�Z��dJ�dK�ZdL�dM�ZÐdN�dO�ZĐdP�dQ�ZŐdR�dS�ZƐdT�dU�Z�e�ZȐdV�dW�ZɐdX�dY�ZʐdZ�d[�Zːd\�d]�Z̐d^�d_�Z͐d`�da�Zΐdb�dc�Zϐdd�de�ZАdf�dg�Zѐdh�di�ZҐdj�dk�ZӐdl�dm�Z�e�ZՐdn�do�Z֐dp�dq�Zאdr�ds�Zؐdt�du�Zِdv�dw�Zڐdx�dy�Zېdz�d{�Zܐd|�d}�Zݐd~�d�Zސd��d��Zߐd��d��Z�e�Z�d��d��Z�d��d��Z�e�Z�d��d��Z�d��d��Z�e�Z�d��d��Z�d��d��Z�e�Z�d��d��Z�d��d��Z�e�Z�d��d��Z�d��d��Z�e�Z�d��d��Z�d��d��Z�e�Z�d��d��Z�d��d��Z�e�Z��d��d��Z��d��d��Z�e�Z��d��d��Z��d��d��Z�e�Z��d��d��Z��d��d��Z�e�Z��d��d���Z�d��d���Ze��Z�d��d���Z�d��d���Ze��Z�d��d���Z�d��d���Z�e�Z�d��d���Z	�d��d���Z
e��Z�d��d���Z�d��d���Z
�d��d���Z�ddÄ�Z�dĐdń�Z�dƐdDŽ�Z�dȐdɄ�Z�dʐd˄�Z�d̐d̈́�Z�dΐdτ�Z�dАdф�Z�dҐdӄ�Z�e�Z�dԐdՄ�Z�d֐dׄ�Z�dؐdل�Z�dڐdۄ�Z�dܐd݄�Z�dސd߄�Z�d�d��Z�d�d��Z �e�Z!�e �Z"�e�Z#�e �Z$�e!�Z%�e"�Z&�e�Z'�e �Z(�e'�Z)�e(�Z*�d�d��Z+�d�d��Z,�d�d��Z-�d�d��Z.�d�d��Z/�d�d��Z0�d�d��Z1�d�d��Z2�d�d���Z3�d��d���Z4�d��d���Z5�d��d���Z6�d��d���Z7�d��d���Z8�d�d��Z9�d�d��Z:�d�d��Z;�d�d��Z<�d�d	��Z=�e=�Z>�d
�d��Z?�d�d
��Z@�d�d��ZA�dS(�
TexinfoParserz&copy;z(%(id)s)z5<A NAME=footnoteref%(id)s HREF="#footnotetext%(id)s">z</A>z5<A NAME=footnotetext%(id)s HREF="#footnoteref%(id)s">z</A>
%(text)s<P>
zJ
<P>
<HR NOSHADE SIZE=1 WIDTH=200>
<STRONG><EM>Footnotes</EM></STRONG>
<P>cCs�i|_i|_d|_d|_d|_d|_d|_d|_g|_d|_	d|_
d|_d|_d|_
d|_|j�g|_g|_d|_ddi|_i|_g|_d|_d|_d|_d|_g|_d|_d|_dS)NrZtmp�.rZhtml�)�unknown�	filenames�	debugging�
print_headers�nodefp�
nodelinenor-�savetext�	savestack�htmlhelpr�
includedirr"rr�
resetindex�contents�	numbering�nofill�values�	stackinfo�	footnotes�itemarg�
itemnumber�	itemindex�node�	nodestackr1�includedepth)rrrrr�s:
zTexinfoParser.__init__cCs
||_dS)N)rC)rrCrrr�sethtmlhelp�szTexinfoParser.sethtmlhelpcCs
||_dS)N)r)rrrrr�
setdirname�szTexinfoParser.setdirnamecCs
||_dS)N)rD)rrDrrr�
setincludedir�szTexinfoParser.setincludedircCsn|j�}d}x.|r:|ddks(tj|�r:|j�}|d}qW|dtt��tkr^tdtf��|j||�dS)Nr:r�%zfile does not begin with %r)�readline�blprog�matchr'�MAGIC�SyntaxError�	parserest)rrr�linenorrr�parse�szTexinfoParser.parsec
Cs�|}d|_d|_g|_g}�x|j�s:|j�}|jd|_|sh|rV|jsR|j|�g}|dkrftd�P|d}tj|�}|r�|j	d�\}}|||�}	|	d
kr�|j
|�n$|r�|js�|j|�g}|j||�qtj|�o�d|jko�d|jk�r.|�r8|j�s8|j|�|j
�r|jd�n
|jd	�g}q|j
|�qW|j�rLtd
�|j�rhtd�td|j�|jdk�r�x2|j�r�|jdj�|jdj�|jd=�qvWdS)Nrr:z*** EOF before @bye�noindent�refill�formatZexample�
z<P>
z*** Still skipping at the endz*** Stack not empty at the endz***)r^r_���rbrb)�done�skip�stackrVr@�process�print�cmprogrX�spanr�commandrWrHrrQrPr.r)
rrZinitial_linenor\�accur�mo�a�b�cmdrrrr[	sb







zTexinfoParser.parserestcCs"|jdk	r|jj|j�d|_dS)Nr)rArBr)rrrr�startsavingAs
zTexinfoParser.startsavingcCs8|j}t|j�dkr*|jd|_|jd=nd|_|p6dS)Nrr:rrbrb)rAr'rB)rrArrr�collectsavingsHs
zTexinfoParser.collectsavingsc	Gsjydj|�}Wnt|�t�YnX|jdk	r@|j||_n&|jrT|jj|�n|jrf|jj|�dS)Nr)r(rg�	TypeErrorrAr?rrO)r�argsrrrrrRs

zTexinfoParser.writecCs$|jdk	rtd�|j�}|jr(|j�|jr�|jdkr�|jd�|jdd�\}}}}|j	d|�|j	d|�|j	d|�|j
|jkr�|j	d|j�|jd�|jd	�|jj�d|_n^|j
�r|jo�|j
js�|j
jo�|j
jo�|j
j�r|j
j�|j
j�n|jj|j
�d|_
d
|_
dS)Nz$*** Still saving text at end of noder&z<HR>
�r/ZPrevr0ZTopz</BODY>
r)rArgrqrK�writefootnotesr?r@r�	nodelinksr%r"rrrOr1r6rr	r
r.rrPr)r�dummyrrr	r
rrr�endnode`s6







zTexinfoParser.endnodec	Cs�|jdkrptd|jd|j|jdd�|rBt|ddd�dd�|ddd�s^|dd�rjtddd�t�|j��rrx�|D]�}tj|�}|s�|j�d	}|j|�q�|j	d�\}}|j	d�\}}|j	d
�\}}	|j	d�\}
}|j	d�\}}
|||�}|||	�}|dd
k�r|}n||
|�}|||
�}|j
dt|�d|d|d	�|jj
|�|j||d��q�Wndj|�}|j|�dS)Nr:�!zprocess:� )�endr�z...ra��rt�:z  <LI><A HREF="z">z</A>r)r=rgrdre�inmenu�miprogrX�strip�expandrirrrC�menuitemr()rrkrrl�bgnr{rmrn�c�d�e�f�g�hr!r"�punctrrrrrf�sB






zTexinfoParser.processcCsd|j}xL|rR|ddkrRy|jt|�r,dSWntk
rBYnX|dd�}qW|ob|d	dkS)
Nr:�ifset�ifclearr�menurb)r�r�rbrb)rerJr'�KeyError)rrerrrr��szTexinfoParser.inmenuc
Cs�g}d}t|�}�x^||k�rp|}tj||�}|r<|j�}n|j||d��P|j|||��||}|d}|dkr�|jd�q|dkr�|jd�q|dkr�|jd�q|dkr�|jd	�q|d
kr�|jd�q|dk�rD|s�td
�|jd�q|d}|d=yt|d|�}	Wn"tk
�r:|j	|�wYnX|	�q|dk�rZt
d|��|}x(||k�r�||tjk�r�|d}�q`W||k�r�|d}|||�}|dk�r�q|j|�q|||�}||k�r2||d
k�r2|d}|j|�yt|d|�}	Wn"tk
�r(|j
|�wYnX|	�qyt|d|�}	Wn"tk
�rf|j|�wYnX|	�qW|�r�td|�dS)Nrr:ra�<z&lt;rz&gt;�&z&amp;�{r�}z*** Unmatched }�close_�@zunexpected funny %rr�open_Zhandle_z*** Stack not empty at para:rbrb)r'�spprog�search�startrrrg�getattr�AttributeError�
unknown_close�RuntimeError�string�
ascii_letters�unknown_open�unknown_handle)
rrre�i�nr�rlr�ro�methodrrrr��s�
















zTexinfoParser.expandcCsRtd|d�|d}|jd|�||jkr:d|j|<n|j|d|j|<dS)Nz*** No open func for @z{...}r�r�r:)rgrr;)rrorrrr�s
zTexinfoParser.unknown_opencCsPtd|d�d|}|jd�||jkr8d|j|<n|j|d|j|<dS)Nz*** No close func for @z{...}r�r:)rgrr;)rrorrrr�s

zTexinfoParser.unknown_closecCsFtd|�|jd|�||jkr.d|j|<n|j|d|j|<dS)Nz*** No handler for @r�r:)rgrr;)rrorrrr�s

zTexinfoParser.unknown_handlecCsdS)Nr)rrrr�handle_noindent#szTexinfoParser.handle_noindentcCsdS)Nr)rrrr�
handle_refill%szTexinfoParser.handle_refillcCs�|}tjj|j|�}yt|d�}Wn.tk
rP}ztdt|��dSd}~XnXtd|jdt|��|j	}|j
}|j}|jd|_|j
|d�|jd|_|j�||_	||_
||_td|jdt|��dS)N�rz*** Can't open include fileryz--> filer:rz<-- file)�os�pathr(rDr�IOErrorrg�reprr=rcrdrerQr[r)rrs�filer�msgZ	save_doneZ	save_skipZ
save_stackrrr�
do_include)s&zTexinfoParser.do_includecCsdS)Nr)rrrr�open_dmn@szTexinfoParser.open_dmncCsdS)Nr)rrrr�	close_dmnAszTexinfoParser.close_dmncCs|jd�dS)Nz...)r)rrrr�	open_dotsCszTexinfoParser.open_dotscCsdS)Nr)rrrr�
close_dotsDszTexinfoParser.close_dotscCsdS)Nr)rrrr�open_bulletFszTexinfoParser.open_bulletcCsdS)Nr)rrrr�close_bulletGszTexinfoParser.close_bulletcCs|jd�dS)NZTeX)r)rrrr�open_TeXIszTexinfoParser.open_TeXcCsdS)Nr)rrrr�	close_TeXJszTexinfoParser.close_TeXcCs|j|j�dS)N)r�COPYRIGHT_SYMBOL)rrrr�handle_copyrightLszTexinfoParser.handle_copyrightcCs|j|j�dS)N)rr�)rrrr�open_copyrightMszTexinfoParser.open_copyrightcCsdS)Nr)rrrr�close_copyrightNszTexinfoParser.close_copyrightcCs|jd�dS)N�-)r)rrrr�
open_minusPszTexinfoParser.open_minuscCsdS)Nr)rrrr�close_minusQszTexinfoParser.close_minuscCs|jd�dS)Nz&#161;)r)rrrr�open_exclamdownwszTexinfoParser.open_exclamdowncCsdS)Nr)rrrr�close_exclamdownxszTexinfoParser.close_exclamdowncCs|jd�dS)Nz&#191;)r)rrrr�open_questiondownyszTexinfoParser.open_questiondowncCsdS)Nr)rrrr�close_questiondownzsz TexinfoParser.close_questiondowncCs|jd�dS)Nz&#229;)r)rrrr�open_aa{szTexinfoParser.open_aacCsdS)Nr)rrrr�close_aa|szTexinfoParser.close_aacCs|jd�dS)Nz&#197;)r)rrrr�open_AA}szTexinfoParser.open_AAcCsdS)Nr)rrrr�close_AA~szTexinfoParser.close_AAcCs|jd�dS)Nz&#230;)r)rrrr�open_aeszTexinfoParser.open_aecCsdS)Nr)rrrr�close_ae�szTexinfoParser.close_aecCs|jd�dS)Nz&#198;)r)rrrr�open_AE�szTexinfoParser.open_AEcCsdS)Nr)rrrr�close_AE�szTexinfoParser.close_AEcCs|jd�dS)Nz&#248;)r)rrrr�open_o�szTexinfoParser.open_ocCsdS)Nr)rrrr�close_o�szTexinfoParser.close_ocCs|jd�dS)Nz&#216;)r)rrrr�open_O�szTexinfoParser.open_OcCsdS)Nr)rrrr�close_O�szTexinfoParser.close_OcCs|jd�dS)Nz&#223;)r)rrrr�open_ss�szTexinfoParser.open_sscCsdS)Nr)rrrr�close_ss�szTexinfoParser.close_sscCs|jd�dS)NZoe)r)rrrr�open_oe�szTexinfoParser.open_oecCsdS)Nr)rrrr�close_oe�szTexinfoParser.close_oecCs|jd�dS)NZOE)r)rrrr�open_OE�szTexinfoParser.open_OEcCsdS)Nr)rrrr�close_OE�szTexinfoParser.close_OEcCs|jd�dS)Nzl/)r)rrrr�open_l�szTexinfoParser.open_lcCsdS)Nr)rrrr�close_l�szTexinfoParser.close_lcCs|jd�dS)NzL/)r)rrrr�open_L�szTexinfoParser.open_LcCsdS)Nr)rrrr�close_L�szTexinfoParser.close_LcCs|jd�dS)Nz=&gt;)r)rrrr�open_result�szTexinfoParser.open_resultcCsdS)Nr)rrrr�close_result�szTexinfoParser.close_resultcCs|jd�dS)Nz==&gt;)r)rrrr�open_expansion�szTexinfoParser.open_expansioncCsdS)Nr)rrrr�close_expansion�szTexinfoParser.close_expansioncCs|jd�dS)Nz-|)r)rrrr�
open_print�szTexinfoParser.open_printcCsdS)Nr)rrrr�close_print�szTexinfoParser.close_printcCs|jd�dS)Nzerror--&gt;)r)rrrr�
open_error�szTexinfoParser.open_errorcCsdS)Nr)rrrr�close_error�szTexinfoParser.close_errorcCs|jd�dS)Nz==)r)rrrr�
open_equiv�szTexinfoParser.open_equivcCsdS)Nr)rrrr�close_equiv�szTexinfoParser.close_equivcCs|jd�dS)Nz-!-)r)rrrr�
open_point�szTexinfoParser.open_pointcCsdS)Nr)rrrr�close_point�szTexinfoParser.close_pointcCs|jd�|j�dS)Nzsee )rrp)rrrr�
open_pxref�s
zTexinfoParser.open_pxrefcCs|j�dS)N)�makeref)rrrr�close_pxref�szTexinfoParser.close_pxrefcCs|jd�|j�dS)NzSee )rrp)rrrr�	open_xref�s
zTexinfoParser.open_xrefcCs|j�dS)N)r�)rrrr�
close_xref�szTexinfoParser.close_xrefcCs|j�dS)N)rp)rrrr�open_ref�szTexinfoParser.open_refcCs|j�dS)N)r�)rrrr�	close_ref�szTexinfoParser.close_refcCs|jd�|j�dS)NzSee info file )rrp)rrrr�open_inforef�s
zTexinfoParser.open_inforefcCs^|j�}dd�|jd�D�}xt|�dkr6|jd�qW|d}|d}|jd|d	|d
�dS)NcSsg|]}|j��qSr)r�)�.0�srrr�
<listcomp>�sz/TexinfoParser.close_inforef.<locals>.<listcomp>�,r~rrr}�`z	', node `�')rq�splitr'rr)rrrsrOr�rrr�
close_inforef�szTexinfoParser.close_inforefcCs�|j�}dd�|jd�D�}xt|�dkr6|jd�qW|d}}|drT|d}|d}|d	}t|�}|r�d
|d|}|jd|d
|d�dS)NcSsg|]}|j��qSr)r�)r�r�rrrr��sz)TexinfoParser.makeref.<locals>.<listcomp>r��rrr}r~rtz../rz	<A HREF="z">z</A>)rqr�r'rrr)rrrsr"r!r�r�hrefrrrr��szTexinfoParser.makerefcCs|j�dS)N)rp)rrrr�	open_uref�szTexinfoParser.open_urefcCsf|j�}dd�|jd�D�}xt|�dkr6|jd�qW|d}|d}|sP|}|jd|d	|d
�dS)NcSsg|]}|j��qSr)r�)r�r�rrrr��sz,TexinfoParser.close_uref.<locals>.<listcomp>r�r}rrr:z	<A HREF="z">z</A>)rqr�r'rr)rrrsr�r!rrr�
close_uref�szTexinfoParser.close_urefcCs|j�dS)N)rp)rrrr�
open_image�szTexinfoParser.open_imagecCs|j�dS)N)�	makeimage)rrrr�close_image�szTexinfoParser.close_imagec	Cs"|j�}dd�|jd�D�}xt|�dkr6|jd�qW|d}|d}|d}|d	}|d
}|jd|}tjj|d�r�|d7}n@tjj|d
�r�|d
7}n&tjj|d�r�|d7}ntd|�|j	d|d|r�d|dp�d|r�d|dp�d|�r
d|d�pdd�|j
j|�dS)NcSsg|]}|j��qSr)r�)r�r�rrrr��sz+TexinfoParser.makeimage.<locals>.<listcomp>r�r�rrr:r}r~rtrz.pngz.jpgz.gifz*** Cannot find image z
<IMG SRC="rz WIDTH="z	 HEIGHT="z ALT="z/>)rqr�r'rrr�r��existsrgrrC�addimage)	rrrs�filename�widthZheightZaltZextZ
imagelocationrrrr��s.



zTexinfoParser.makeimagecCsdS)Nr)rrrrr�szTexinfoParser.open_cCsdS)Nr)rrrrr�szTexinfoParser.close_cCs|jd�dS)Nz<CITE>)r)rrrr�	open_citeszTexinfoParser.open_citecCs|jd�dS)Nz</CITE>)r)rrrr�
close_citeszTexinfoParser.close_citecCs|jd�dS)Nz<CODE>)r)rrrr�	open_codeszTexinfoParser.open_codecCs|jd�dS)Nz</CODE>)r)rrrr�
close_codeszTexinfoParser.close_codecCs|jd�dS)Nz<TT>)r)rrrr�open_tszTexinfoParser.open_tcCs|jd�dS)Nz</TT>)r)rrrr�close_tszTexinfoParser.close_tcCs|jd�dS)Nz<DFN>)r)rrrr�open_dfnszTexinfoParser.open_dfncCs|jd�dS)Nz</DFN>)r)rrrr�	close_dfnszTexinfoParser.close_dfncCs|jd�dS)Nz<EM>)r)rrrr�	open_emph szTexinfoParser.open_emphcCs|jd�dS)Nz</EM>)r)rrrr�
close_emph!szTexinfoParser.close_emphcCs|jd�dS)Nz<I>)r)rrrr�open_i#szTexinfoParser.open_icCs|jd�dS)Nz</I>)r)rrrr�close_i$szTexinfoParser.close_icCs2t|j�d}|j|jdt|�i�|j�dS)Nr:�id)r'rKr�FN_SOURCE_PATTERNr�rp)rrrrr�
open_footnote&szTexinfoParser.open_footnotecCs&t|j�d}|jj||j�f�dS)Nr:)r'rKrrq)rrrrr�close_footnote-szTexinfoParser.close_footnotecCsD|j|j�x,|jD]"\}}|j|jt|�|d��qWg|_dS)N)rr)r�	FN_HEADERrK�FN_TARGET_PATTERNr�)rrrrrrru1s
zTexinfoParser.writefootnotescCs|jd�dS)Nz<CODE>)r)rrrr�	open_file8szTexinfoParser.open_filecCs|jd�dS)Nz</CODE>)r)rrrr�
close_file9szTexinfoParser.close_filecCs|jd�dS)Nz<KBD>)r)rrrr�open_kbd;szTexinfoParser.open_kbdcCs|jd�dS)Nz</KBD>)r)rrrr�	close_kbd<szTexinfoParser.close_kbdcCs|jd�dS)Nz<KEY>)r)rrrr�open_key>szTexinfoParser.open_keycCs|jd�dS)Nz</KEY>)r)rrrr�	close_key?szTexinfoParser.close_keycCs|jd�dS)Nz<R>)r)rrrr�open_rAszTexinfoParser.open_rcCs|jd�dS)Nz</R>)r)rrrr�close_rBszTexinfoParser.close_rcCs|jd�dS)Nz`<SAMP>)r)rrrr�	open_sampDszTexinfoParser.open_sampcCs|jd�dS)Nz</SAMP>')r)rrrr�
close_sampEszTexinfoParser.close_sampcCs|jd�dS)Nz<SMALLCAPS>)r)rrrr�open_scGszTexinfoParser.open_sccCs|jd�dS)Nz</SMALLCAPS>)r)rrrr�close_scHszTexinfoParser.close_sccCs|jd�dS)Nz<STRONG>)r)rrrr�open_strongJszTexinfoParser.open_strongcCs|jd�dS)Nz	</STRONG>)r)rrrr�close_strongKszTexinfoParser.close_strongcCs|jd�dS)Nz<B>)r)rrrr�open_bMszTexinfoParser.open_bcCs|jd�dS)Nz</B>)r)rrrr�close_bNszTexinfoParser.close_bcCs|jd�dS)Nz<VAR>)r)rrrr�open_varPszTexinfoParser.open_varcCs|jd�dS)Nz</VAR>)r)rrrr�	close_varQszTexinfoParser.close_varcCs|jd�dS)Nz	<NOBREAK>)r)rrrr�open_wSszTexinfoParser.open_wcCs|jd�dS)Nz
</NOBREAK>)r)rrrr�close_wTszTexinfoParser.close_wcCs|j�dS)N)rp)rrrr�open_urlVszTexinfoParser.open_urlcCs|j�}|jd|d|d�dS)Nz	<A HREF="z">z</A>)rqr)rrrrr�	close_urlWszTexinfoParser.close_urlcCs|j�dS)N)rp)rrrr�
open_email[szTexinfoParser.open_emailcCs|j�}|jd|d|d�dS)Nz<A HREF="mailto:z">z</A>)rqr)rrrrr�close_email\szTexinfoParser.close_emailcCsdS)Nr)rrrr�
open_smallcszTexinfoParser.open_smallcCsdS)Nr)rrrr�close_smalldszTexinfoParser.close_smallcCs�|jd�\}}|||�}||d�j�}|jdkrTtd|jd|j|jd||�yt|d|�}Wnbtk
r�yt|d|�}Wn&tk
r�|js�|j||�dSX|jj	|�||�dSX|js�|dkr�||�dS)Nr:ryzcommand:r�Zdo_Zbgn_r{)
rir�r=rgrdrer�r��unknown_cmdr)rrrlrmrnrors�funcrrrrjfs(
zTexinfoParser.commandcCs>tdd||�||jkr&d|j|<n|j|d|j|<dS)Nz*** unknownr�r:)rgr;)rrorsrrrr,}s
zTexinfoParser.unknown_cmdcCs�|j�}|std�nl|d}|js4|jd|krBtd|d�n|jd=yt|d|�}Wntk
rz|j|�dSX|�dS)	Nz*** @end w/o argsrr:z*** @endZ
unexpectedZend_rbrb)r�rgrer�r��unknown_end)rrs�wordsror-rrr�do_end�s

zTexinfoParser.do_endcCsDd|}tdd|�||jkr,d|j|<n|j|d|j|<dS)Nzend z*** unknownr�r:)rgr;)rrorrrr.�s

zTexinfoParser.unknown_endcCsdS)Nr)rrsrrr�
do_comment�szTexinfoParser.do_commentcCsdS)Nr)rrsrrr�
bgn_ifinfo�szTexinfoParser.bgn_ifinfocCsdS)Nr)rrrr�
end_ifinfo�szTexinfoParser.end_ifinfocCs|jd|_dS)Nr:)rd)rrsrrr�	bgn_iftex�szTexinfoParser.bgn_iftexcCs|jd|_dS)Nr:)rd)rrrr�	end_iftex�szTexinfoParser.end_iftexcCs|jd|_dS)Nr:)rd)rrsrrr�
bgn_ignore�szTexinfoParser.bgn_ignorecCs|jd|_dS)Nr:)rd)rrrr�
end_ignore�szTexinfoParser.end_ignorecCs|jd|_dS)Nr:)rd)rrsrrr�bgn_tex�szTexinfoParser.bgn_texcCs|jd|_dS)Nr:)rd)rrrr�end_tex�szTexinfoParser.end_texcCsD|jd�}|d}t|�dkr$d}ndj|dd��}||j|<dS)Nrzrr:)r�r'r(rI)rrsZfields�key�valuerrr�do_set�s
zTexinfoParser.do_setcCsd|j|<dS)N)rI)rrsrrr�do_clear�szTexinfoParser.do_clearcCsJ||jks|j|dkr6|jd|_d|jt|j�<nd|jt|j�<dS)Nr:r)rIrdrJr're)rrsrrr�	bgn_ifset�szTexinfoParser.bgn_ifsetcCsdy6|jt|j�dr"|jd|_|jt|j�d=Wn(tk
r^tdt|j�d�YnXdS)Nr:z*** end_ifset: KeyError :)rJr'rerdr�rg)rrrr�	end_ifset�szTexinfoParser.end_ifsetcCsJ||jkr6|j|dk	r6|jd|_d|jt|j�<nd|jt|j�<dS)Nr:r)rIrdrJr're)rrsrrr�bgn_ifclear�szTexinfoParser.bgn_ifclearcCsdy6|jt|j�dr"|jd|_|jt|j�d=Wn(tk
r^tdt|j�d�YnXdS)Nr:z*** end_ifclear: KeyError :)rJr'rerdr�rg)rrrr�end_ifclear�szTexinfoParser.end_ifclearcCs|j�dS)N)rp)rrrr�
open_value�szTexinfoParser.open_valuecCs2|j�}||jkr$|j|j|�n
td|�dS)Nz*** Undefined value: )rqrIrrg)rr:rrr�close_value�s
zTexinfoParser.close_valuecCs |j�|j|�|j�|_dS)N)rpr�rqr)rrsrrr�do_settitle�s
zTexinfoParser.do_settitlecCsdS)Nr)rrsrrr�
do_parskip�szTexinfoParser.do_parskipcCs|j�d|_dS)Nr:)rxrc)rrsrrr�do_bye�szTexinfoParser.do_byecCs|jd|_dS)Nr:)rd)rrsrrr�
bgn_titlepage�szTexinfoParser.bgn_titlepagecCs|jd|_dS)Nr:)rd)rrrr�
end_titlepage�szTexinfoParser.end_titlepagecCsdS)Nr)rrsrrr�do_shorttitlepage�szTexinfoParser.do_shorttitlepagecCs"|jd�|j|�|jd�dS)Nz<H1>z</H1>
)rr�)rrsrrr�	do_center�s

zTexinfoParser.do_centerc	Cs|j�d|_dd�|jd�D�}xt|�dkr<|jd�q$W||_|dd�\}}}}|jdt|�}||jkr�t	d|�n|j
r�t	d	|j
d
|�d|j|<||_|jr�|j
r�|j|j
d
_|js�||_|}|jr�|d|j}|j|j|j|j||||�|_|jj|j||||�dS)NrcSsg|]}|j��qSr)r�)r�r�rrrr�sz)TexinfoParser.do_node.<locals>.<listcomp>r�rtrrz*** Filename already in use: ryz--- writingr:z -- rb)rxr@r�r'rrvrrr<rgr=r"r1rPrr�NoderOrC�addnode)	rrs�partsrrr	r
r�rrrr�do_nodes0

zTexinfoParser.do_nodec	Cs:|r6|j�dkrd}nt|�}|j|d|d|d|d�dS)Nz(dir)z../dir.htmlz: <A HREF="z" TYPE="z">z</A>  
)r rr)rr!r"r$rrrr%-szTexinfoParser.linkcCs�|jr�||j_x�|jr�|jdj|krL|jdj�|jdj�|jd=q|jdj|kr�|jdjsx|jj|jd_|jjs�|jd	j|j_|jd
j�|jdj�|jd=q|dkr�|jjr�|jd
j|j_PqWdS)Nr:rbrbrbrbrbrbrbrbrbrbrbrb)	rOr6rPr.rrrr	r
)rr6rrr�popstack8s$

zTexinfoParser.popstackcCs|jd|d�|jd�dS)N�H1rr:)�headingrO)rrsrrr�
do_chapterMszTexinfoParser.do_chaptercCs|jd|d�|jd�dS)NrPr:rb)rQrO)rrsrrr�
do_unnumberedQszTexinfoParser.do_unnumberedcCs|jd|d�|jd�dS)NrPr:rb)rQrO)rrsrrr�do_appendixTszTexinfoParser.do_appendixcCs|jd|d�dS)NrPr:rb)rQ)rrsrrr�do_topWszTexinfoParser.do_topcCs|jd|d�dS)NrPr:rb)rQ)rrsrrr�do_chapheadingYszTexinfoParser.do_chapheadingcCs|jd|d�dS)NrPr:rb)rQ)rrsrrr�do_majorheading[szTexinfoParser.do_majorheadingcCs|jd|d�|jd�dS)NrPr:r})rQrO)rrsrrr�
do_section^szTexinfoParser.do_sectioncCs|jd|d�|jd�dS)NrPr:r}rb)rQrO)rrsrrr�do_unnumberedsecbszTexinfoParser.do_unnumberedseccCs|jd|d�|jd�dS)NrPr:r}rb)rQrO)rrsrrr�do_appendixseceszTexinfoParser.do_appendixseccCs|jd|d�dS)NrPr:rb)rQ)rrsrrr�
do_headingiszTexinfoParser.do_headingcCs|jd|d�|jd�dS)N�H2r}r~)rQrO)rrsrrr�
do_subsectionlszTexinfoParser.do_subsectioncCs|jd|d�|jd�dS)Nr\r:r~rb)rQrO)rrsrrr�do_unnumberedsubsecosz!TexinfoParser.do_unnumberedsubseccCs|jd|d�|jd�dS)Nr\r:r~rb)rQrO)rrsrrr�do_appendixsubsecrszTexinfoParser.do_appendixsubseccCs|jd|d�dS)Nr\r:rb)rQ)rrsrrr�
do_subheadinguszTexinfoParser.do_subheadingcCs|jd|d�|jd�dS)N�H3r~rt)rQrO)rrsrrr�do_subsubsectionxszTexinfoParser.do_subsubsectioncCs|jd|d�|jd�dS)Nrar:rtrb)rQrO)rrsrrr�do_unnumberedsubsubsec{sz$TexinfoParser.do_unnumberedsubsubseccCs|jd|d�|jd�dS)Nrar:rtrb)rQrO)rrsrrr�do_appendixsubsubsec~sz"TexinfoParser.do_appendixsubsubseccCs|jd|d�dS)Nrar:rb)rQ)rrsrrr�do_subsubheading�szTexinfoParser.do_subsubheadingcCs�|dkr�xt|j�|kr&|jjd�q
W|j|dd�=|j|d|j|<d}x|jD]}|t|�d}qXW|d|}|jj|||jf�|jd|d�|j|�|jd|d	�|js�|j	r�t
d
|�dS)Nrr:rr9rzr�rz</z>
z---)r'rGrr�rFr"rr�r=r>rg)rr6rs�level�xr�rrrrQ�s
zTexinfoParser.headingcCs|jdd�dS)NzTable of Contentsi�)�listcontents)rrsrrr�do_contents�szTexinfoParser.do_contentscCsdS)Nr)rrsrrr�do_shortcontents�szTexinfoParser.do_shortcontentscCs�|jd|d�dg}x�|jD]�\}}}||kr0q||dkr\|jd|dd�|j|�n8||d
kr�x*||dkr�|d=|jd|dd�qjW|jd|dt|�d	�|j|�|jd
�qW|jdt|��dS)Nz<H1>z</H1>
<UL COMPACT PLAIN>
rr:z  z<UL PLAIN>
z</UL>
z<LI> <A HREF="z">z</A>
rbrbrbrbrbrb)rrFrrr�r')rr�maxlevelZ
prevlevelsrfrOrrrrh�s$

zTexinfoParser.listcontentscCsdS)Nr)rrsrrr�do_page�szTexinfoParser.do_pagecCsdS)Nr)rrsrrr�do_need�szTexinfoParser.do_needcCsdS)Nr)rrsrrr�	bgn_group�szTexinfoParser.bgn_groupcCsdS)Nr)rrrr�	end_group�szTexinfoParser.end_groupcCs |jr|jd�n
|jd�dS)Nraz<P>
)rHr)rrsrrr�do_sp�szTexinfoParser.do_spcCs|jd�dS)Nz<HR>)r)rrsrrr�do_hline�szTexinfoParser.do_hlinecCs|jd�|j|�dS)Nz<DL>)r�	do_deffnx)rrsrrr�	bgn_deffn�s
zTexinfoParser.bgn_deffncCs|jd�dS)Nz</DL>
)r)rrrr�	end_deffn�szTexinfoParser.end_deffncCsz|jd�t|d�}|dd�|dd�\}}}|jd|�x|D]}|jdt|��qFW|jd�|jd|�dS)Nz<DT>r}z@b{%s}rzz
<DD>�fn)r�
splitwordsr��makevar�index)rrsr/�categoryr�rest�wordrrrrr�s



zTexinfoParser.do_deffnxcCs|jd|�dS)Nz	Function )rs)rrsrrr�	bgn_defun�szTexinfoParser.bgn_defuncCs|jd|�dS)Nz	Function )rr)rrsrrr�	do_defunx�szTexinfoParser.do_defunxcCs|jd|�dS)NzMacro )rs)rrsrrr�
bgn_defmac�szTexinfoParser.bgn_defmaccCs|jd|�dS)NzMacro )rr)rrsrrr�
do_defmacx�szTexinfoParser.do_defmacxcCs|jd|�dS)Nz{Special Form} )rs)rrsrrr�bgn_defspec�szTexinfoParser.bgn_defspeccCs|jd|�dS)Nz{Special Form} )rr)rrsrrr�do_defspecx�szTexinfoParser.do_defspecxcCs|jd�|j|�dS)Nz<DL>)r�	do_defvrx)rrsrrr�	bgn_defvr�s
zTexinfoParser.bgn_defvrcCsv|jd�t|d�}|dd�|dd�\}}}|jd|�x|D]}|jd|�qFW|jd�|jd|�dS)Nz<DT>r}z	@code{%s}rzz
<DD>�vr)rrvr�rx)rrsr/ryrrzr{rrrr��s



zTexinfoParser.do_defvrxcCs|jd|�dS)Nz	Variable )r�)rrsrrr�
bgn_defvar�szTexinfoParser.bgn_defvarcCs|jd|�dS)Nz	Variable )r�)rrsrrr�
do_defvarx�szTexinfoParser.do_defvarxcCs|jd|�dS)Nz{User Option} )r�)rrsrrr�
bgn_defopt�szTexinfoParser.bgn_defoptcCs|jd|�dS)Nz{User Option} )r�)rrsrrr�
do_defoptxszTexinfoParser.do_defoptxcCs|jd�|j|�dS)Nz<DL>)r�
do_deftypefnx)rrsrrr�
bgn_deftypefns
zTexinfoParser.bgn_deftypefncCs�|jd�t|d�}|dd�|dd�\}}}}|jd||f�x|D]}|jdt|��qLW|jd�|jd|�dS)Nz<DT>r~z@code{%s} @b{%s}rzz
<DD>ru)rrvr�rwrx)rrsr/ry�datatyperrzr{rrrr�
s

 

zTexinfoParser.do_deftypefnxcCs|jd|�dS)Nz	Function )r�)rrsrrr�bgn_deftypefunszTexinfoParser.bgn_deftypefuncCs|jd|�dS)Nz	Function )r�)rrsrrr�do_deftypefunxszTexinfoParser.do_deftypefunxcCs|jd�|j|�dS)Nz<DL>)r�
do_deftypevrx)rrsrrr�
bgn_deftypevrs
zTexinfoParser.bgn_deftypevrcCs||jd�t|d�}|dd�|dd�\}}}}|jd||f�x|D]}|jd|�qLW|jd�|jd|�dS)Nz<DT>r~z@code{%s} @b{%s}rzz
<DD>ru)rrvr�rx)rrsr/ryr�rrzr{rrrr�s

 

zTexinfoParser.do_deftypevrxcCs|jd|�dS)Nz	Variable )r�)rrsrrr�bgn_deftypevar*szTexinfoParser.bgn_deftypevarcCs|jd|�dS)Nz	Variable )r�)rrsrrr�do_deftypevarx-szTexinfoParser.do_deftypevarxcCs|jd�|j|�dS)Nz<DL>)r�	do_defcvx)rrsrrr�	bgn_defcv2s
zTexinfoParser.bgn_defcvcCs�|jd�t|d�}|dd�|dd�\}}}}|jd|�x|D]}|jd|�qHW|jd�|jdd||f�dS)Nz<DT>r~z@b{%s}rzz
<DD>r�z%s @r{on %s})rrvr�rx)rrsr/ry�	classnamerrzr{rrrr�8s

 

zTexinfoParser.do_defcvxcCs|jd|�dS)Nz{Instance Variable} )r�)rrsrrr�bgn_defivarCszTexinfoParser.bgn_defivarcCs|jd|�dS)Nz{Instance Variable} )r�)rrsrrr�do_defivarxFszTexinfoParser.do_defivarxcCs|jd�|j|�dS)Nz<DL>)r�	do_defopx)rrsrrr�	bgn_defopIs
zTexinfoParser.bgn_defopcCs�|jd�t|d�}|dd�|dd�\}}}}|jd|�x|D]}|jdt|��qHW|jd�|jdd||f�dS)Nz<DT>r~z@b{%s}rzz
<DD>ruz%s @r{on %s})rrvr�rwrx)rrsr/ryr�rrzr{rrrr�Os

 

zTexinfoParser.do_defopxcCs|jd|�dS)NzMethod )r�)rrsrrr�
bgn_defmethodYszTexinfoParser.bgn_defmethodcCs|jd|�dS)NzMethod )r�)rrsrrr�
do_defmethodx\szTexinfoParser.do_defmethodxcCs|jd�|j|�dS)Nz<DL>)r�	do_deftpx)rrsrrr�	bgn_deftpas
zTexinfoParser.bgn_deftpcCsv|jd�t|d�}|dd�|dd�\}}}|jd|�x|D]}|jd|�qFW|jd�|jd|�dS)Nz<DT>r}z@b{%s}rzz
<DD>�tp)rrvr�rx)rrsr/ryrrzr{rrrr�gs



zTexinfoParser.do_deftpxcCsD|s |jd�d|jt|j�<n ||_|jd�d|jt|j�<dS)Nz<OL>
z</OL>
z<UL>
z</UL>
)rrJr'rerM)rrsrrr�
bgn_enumeratess

zTexinfoParser.bgn_enumeratecCs6d|_|j|jt|j�d�|jt|j�d=dS)Nr:)rMrrJr're)rrrr�
end_enumerate{szTexinfoParser.end_enumeratecCs||_|jd�dS)Nz<UL>
)rLr)rrsrrr�bgn_itemize�szTexinfoParser.bgn_itemizecCsd|_|jd�dS)Nz</UL>
)rLr)rrrr�end_itemize�szTexinfoParser.end_itemizecCs||_|jd�dS)Nz<DL>
)rLr)rrsrrr�	bgn_table�szTexinfoParser.bgn_tablecCsd|_|jd�dS)Nz</DL>
)rLr)rrrr�	end_table�szTexinfoParser.end_tablecCsd|_|j|�dS)Nru)rNr�)rrsrrr�
bgn_ftable�szTexinfoParser.bgn_ftablecCsd|_|j�dS)N)rNr�)rrrr�
end_ftable�szTexinfoParser.end_ftablecCsd|_|j|�dS)Nr�)rNr�)rrsrrr�
bgn_vtable�szTexinfoParser.bgn_vtablecCsd|_|j�dS)N)rNr�)rrrr�
end_vtable�szTexinfoParser.end_vtablecCs|jr|j|j|�|jrd|jddkrV|jdrV|jdtjkrV|jd|d}n|jd|}|jdk	r�|jd|}t|j�|_|jr�|jddkr�|jd	�|j	|�|jd
�nR|jr�|jddkr�|jd�|j	|�|jd
�n|jd�|j	|�|jd�dS)Nrr�r:r�r�rzz. �tablez<DT>z
<DD>Z
multitablez<TR><TD>z</TD>
</TR>
z<LI>z  rbrb)
rNrxrLr�r�rM�	incrementrerr�)rrsrrr�do_item�s*






zTexinfoParser.do_itemcCsd|_|jd�dS)Nz<TABLE BORDER="">
)rLr)rrsrrr�bgn_multitable�szTexinfoParser.bgn_multitablecCsd|_|jd�dS)Nz</TABLE>
<BR>
)rLr)rrrr�end_multitable�szTexinfoParser.end_multitablecCs
d|_dS)N)rL)rrrr�handle_columnfractions�sz$TexinfoParser.handle_columnfractionscCs|jd�dS)Nz</TD>
    <TD>)r)rrrr�
handle_tab�szTexinfoParser.handle_tabcCs|jd�dS)Nz<BLOCKQUOTE>)r)rrsrrr�
bgn_quotation�szTexinfoParser.bgn_quotationcCs|jd�dS)Nz</BLOCKQUOTE>
)r)rrrr�
end_quotation�szTexinfoParser.end_quotationcCs|jd|_|jd�dS)Nr:z<PRE>)rHr)rrsrrr�bgn_example�szTexinfoParser.bgn_examplecCs|jd�|jd|_dS)Nz</PRE>
r:)rrH)rrrr�end_example�s
zTexinfoParser.end_examplecCs|j|d�dS)Nra)r�)rrsrrr�	do_exdent�szTexinfoParser.do_exdentcCs|jd|_|jd�dS)Nr:z<PRE>
)rHr)rrsrrr�
bgn_flushleft�szTexinfoParser.bgn_flushleftcCs|jd�|jd|_dS)Nz</PRE>
r:)rrH)rrrr�
end_flushleft�s
zTexinfoParser.end_flushleftcCs|jd|_|jd�dS)Nr:z<ADDRESS COMPACT>
)rHr)rrsrrr�bgn_flushright�szTexinfoParser.bgn_flushrightcCs|jd�|jd|_dS)Nz</ADDRESS>
r:)rrH)rrrr�end_flushright�s
zTexinfoParser.end_flushrightcCs"|jd�|jd�|jj�dS)Nz<DIR>
z$  <STRONG><EM>Menu</EM></STRONG><P>
)rrC�	beginmenu)rrsrrr�bgn_menu�s

zTexinfoParser.bgn_menucCs|jd�|jj�dS)Nz</DIR>
)rrC�endmenu)rrrr�end_menu�s
zTexinfoParser.end_menucCsdS)Nr)rrsrrr�
bgn_cartouche�szTexinfoParser.bgn_cartouchecCsdS)Nr)rrrr�
end_cartouche�szTexinfoParser.end_cartouchecCsndg|_i|_d|jd<d|jd<d|jd<d|jd<d	|jd
<d|jd<i|_x|jD]}g|j|<qXWdS)
N�cpZConceptZFunctionruZKeyword�kyZProgram�pgZTyper�ZVariabler�)�noncodeindices�
indextitle�
whichindex)rrrrrrE�s





zTexinfoParser.resetindexcCs*||jkr|j||�ntdt|��dS)Nz*** No index named)r�rxrgr�)rrrsrrr�
user_indexs
zTexinfoParser.user_indexcCs|jd|�dS)Nr�)rx)rrsrrr�	do_cindexszTexinfoParser.do_cindexcCs|jd|�dS)Nru)rx)rrsrrr�	do_findexszTexinfoParser.do_findexcCs|jd|�dS)Nr�)rx)rrsrrr�	do_kindexszTexinfoParser.do_kindexcCs|jd|�dS)Nr�)rx)rrsrrr�	do_pindexszTexinfoParser.do_pindexcCs|jd|�dS)Nr�)rx)rrsrrr�	do_tindexszTexinfoParser.do_tindexcCs|jd|�dS)Nr�)rx)rrsrrr�	do_vindexszTexinfoParser.do_vindexcCs*|j|j||jf�|jj||j�dS)N)r�rr"rCrx)rrrsrrrrxszTexinfoParser.indexcCs�|j�}t|�dkr"td|�dS|\}}||jks>||jkrLtd|�dS||kr�|j||j|k	r�|j|}|j||t|�d�<||j|<dS)Nr}z*** bad @synindexz*** bad key(s) in @synindex)r�r'rgr�)rrsr/�old�newZinewrrr�do_synindexs




zTexinfoParser.do_synindexcCs>|j�}x0|D](}||jkr(|j|�qtdt|��qWdS)Nz*** No index named)r�r��prindexrgr�)rrsr/rrrr�
do_printindex-s


zTexinfoParser.do_printindexcCsj||jk}|j|}|sdS|jr<td|jd|j|d�g}tjd�}xV|D]N\}}|j�}|}	x(|j|�}
|
svP|
j	�}||d�}qfW|j
|||f�qPW|dd�=|j�|jd�d}}
x�|D]�\}}}||f||
fkr�q�|jdk�rtd|j|d|�|jd�|�r$d	|d
}||k�r8|j
|�|jdt|�|f�||}}
q�W|jd�dS)
Nryz--- Generatingrxz^(@[a-z]+)?{z
<DL COMPACT>
r:rz<DT>z@code{r�z
<DD><A HREF="%s">%s</A>
z</DL>
)r�r�r=rgr��re�compiler rXr{r�sortrr�r)rrZiscodeindexrxZindex1Zjunkprogr:rOZsortkeyZ
oldsortkeyrlr�ZprevkeyZprevnoderrrr�5sH








zTexinfoParser.prindexcCsD|jr@td�t|jj��}x"|D]}t|jd�|j|�q"WdS)Nz--- Unrecognized commands ---r&)r;rg�sorted�keys�ljust)rZcmdsrorrr�report]s

zTexinfoParser.reportN(Br2r3r4r��
FN_ID_PATTERNr
rrrrKrrRrSrTr]r[rprqrrxrfr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�Z	open_asisZ
close_asisrrrrrrrrrr	r
rrrrurrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)Zopen_titlefontZclose_titlefontr*r+rjr,r0r.r1Zdo_cr2r3r4r5r6r7r8r9r<r=r>r?r@rArBrCZdo_finaloutZdo_setchapternewpageZdo_setfilenamerDrErFrGrHrIrJZdo_titleZdo_subtitleZ	do_authorZdo_vskipZdo_vfillZdo_smallbookZdo_paragraphindentZdo_headingsZdo_footnotestyleZdo_evenheadingZdo_evenfootingZ
do_oddheadingZ
do_oddfootingZdo_everyheadingZdo_everyfootingrNr%rOrRrSrTrUrVrWrXrYrZZdo_appendixsectionr[r]r^r_r`rbrcrdrerQrirjZdo_summarycontentsrhrlrmrnrorprqrsrtrrr|Z	end_defunr}r~Z
end_defmacrr�Zend_defspecr�r�Z	end_defvrr�r�Z
end_defvarr�r�Z
end_defoptr�r�Z
end_deftypefnr�r�Zend_deftypefunr�r�Z
end_deftypevrr�r�Zend_deftypevarr�r�Z	end_defcvr�r�Zend_defivarr�r�Z	end_defopr�r�Z
end_defmethodr�r�Z	end_deftpr�r�r�r�r�r�r�r�r�r�r�r�Zdo_itemxr�r�r�r�r�r�r�r�Zbgn_lispZend_lispZbgn_smallexampleZend_smallexampleZ
bgn_smalllispZ
end_smalllispZbgn_displayZend_displayZ
bgn_formatZ
end_formatr�r�r�r�r�r�r�r�r�rEr�r�r�r�r�r�r�rxr�Zdo_syncodeindexr�r�r�rrrrr8�s~!8
 #T		&&
		

(r8c@s|eZdZdZdZdedZdedZdZeZ	dd	�Z
d
d�Zdd
�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�ZdS)�TexinfoParserHTML3z&copy;z[%(id)s]z3<A ID=footnoteref%(id)s HREF="#footnotetext%(id)s">z</A>z;<FN ID=footnotetext%(id)s>
<P><A HREF="#footnoteref%(id)s">z</A>
%(text)s</P></FN>
z[<DIV CLASS=footnotes>
  <HR NOSHADE WIDTH=200>
  <STRONG><EM>Footnotes</EM></STRONG>
  <P>
cCs|jd�dS)Nz<BQ>)r)rrsrrrr�ssz TexinfoParserHTML3.bgn_quotationcCs|jd�dS)Nz</BQ>
)r)rrrrr�tsz TexinfoParserHTML3.end_quotationcCs|jd|_|jd�dS)Nr:z<PRE CLASS=example><CODE>)rHr)rrsrrrr�vszTexinfoParserHTML3.bgn_examplecCs|jd�|jd|_dS)Nz</CODE></PRE>
r:)rrH)rrrrr�{s
zTexinfoParserHTML3.end_examplecCs|jd|_|jd�dS)Nr:z<PRE CLASS=flushleft>
)rHr)rrsrrrr�sz TexinfoParserHTML3.bgn_flushleftcCs|jd|_|jd�dS)Nr:z4<DIV ALIGN=right CLASS=flushright><ADDRESS COMPACT>
)rHr)rrsrrrr��sz!TexinfoParserHTML3.bgn_flushrightcCs|jd�|jd|_dS)Nz</ADDRESS></DIV>
r:)rrH)rrrrr��s
z!TexinfoParserHTML3.end_flushrightcCs|jd�|jd�dS)Nz<UL PLAIN CLASS=menu>
z  <LH>Menu</LH>
)r)rrsrrrr��s
zTexinfoParserHTML3.bgn_menucCs|jd�dS)Nz</UL>
)r)rrrrr��szTexinfoParserHTML3.end_menuN)r2r3r4r�r�r
rrr7rKr�r�r�r�r�r�r�r�r�rrrrr�esr�c@s�eZdZdZejd�Zdd�Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dd�Zejfdd�Zejfdd�Zdejfdd�Zdejfdd�Zdd�Zejfdd�Zd d!�Zd"S)#�HTMLHelpa�
    This class encapsulates support for HTML Help. Node names,
    file names, menu items, index items, and image file names are
    accumulated until a call to finalize(). At that time, three
    output files are created in the current directory:

        `helpbase`.hhp  is a HTML Help Workshop project file.
                        It contains various information, some of
                        which I do not understand; I just copied
                        the default project info from a fresh
                        installation.
        `helpbase`.hhc  is the Contents file for the project.
        `helpbase`.hhk  is the Index file for the project.

    When these files are used as input to HTML Help Workshop,
    the resulting file will be named:

        `helpbase`.chm

    If none of the defaults in `helpbase`.hhp are changed,
    the .CHM file will have Contents, Index, Search, and
    Favorites tabs.
    z@code{(.*?)}cCsR||_||_d|_d|_d|_g|_i|_i|_i|_g|_	d|_
i|_i|_dS)Nr)
�helpbaser�projectfile�contentfile�	indexfile�nodelistZ	nodenames�	nodeindexr<�	indexlist�current�menudict�dumped)rr�rrrrr�szHTMLHelp.__init__cCsJ|||||f}||j|<t|j�|j|<|jj|�||_g|j|j<dS)N)r<r'r�r�rr�r�)rrrr	r
r�rOrrrrL�s
zHTMLHelp.addnodecCs|j|j}|j|�dS)N)r�r�r)rr"r�rrrr��szHTMLHelp.menuitemcCs||j|<dS)N)r<)rZ	imagenamerrrr��szHTMLHelp.addimagecCs|jj||f�dS)N)r�r)rrsr"rrrrx�szHTMLHelp.indexcCsdS)Nr)rrrrr��szHTMLHelp.beginmenucCsdS)Nr)rrrrr��szHTMLHelp.endmenuc,Cs�|js
dS|jd}|jd}|jd}|jd}|j}|jd\}}}}	}
|
}�yHt|d�}td|d�td	|d�td
|d�td|d�td|d�td
|d|d�td|d|d�td|d|d�td|d�td|d|d�td|d|d�td|d�td|d�td|d�td|d�td|d�td|d|d|d�td|d�td|d�td|d�|j|�|j�Wn:tk
�r�}
zt|d|
�tjd�WYdd}
~
XnXy�t|d�}td|d�td|d�td |d�td!|d�td"|d�td#|d�td$|d�td%|d�td&|d�td'|d�td(|d�td)|d�td*|d�|j	|�td+|d�td,|d�|j�Wn:tk
�r�}
zt|d|
�tjd�WYdd}
~
XnXy�t|d�}td|d�td-|d�td |d�td!|d�td"|d�td#|d�td$|d�td%|d�td.|d�td/|d�|j
|�td+|d�td,|d�|j�Wn:tk
�r�}
zt|d|
�tjd�WYdd}
~
XnXdS)0Nz.chmz.hhpz.hhcz.hhkrrz	[OPTIONS])r�zAuto Index=Yesz
Binary TOC=NozBinary Index=YeszCompatibility=1.1zCompiled file=rzContents file=zDefault topic=zError log file=ErrorLog.logzIndex file=zTitle=zDisplay compile progress=YeszFull-text search=YeszDefault window=mainz	[WINDOWS]zmain=,"z","z=","","",,,,,0x23520,222,0x1046,[10,10,780,560],0xB0000,,,,,,0z[FILES]rr:z.<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">z0<!-- This file defines the table of contents -->z<HTML>z<HEAD>zG<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">z<!-- Sitemap 1.0 -->z</HEAD>z<BODY>z'   <OBJECT type="text/site properties">z2     <param name="Window Styles" value="0x800025">z*     <param name="comment" value="title:">z)     <param name="comment" value="base:">z   </OBJECT>z</BODY>z</HTML>z$<!-- This file defines the index -->z$<OBJECT type="text/site properties">z	</OBJECT>)r�r�rrg�	dumpfilesrr��sys�exit�	dumpnodes�	dumpindex)rZ
resultfiler�r�r�rrZtopnextZtopprevZtopupZtopfileZdefaulttopicrr�rrrr.�s�









zHTMLHelp.finalizecCs,t|jj��}x|D]}t||d�qWdS)N)r�)r�r<rIrg)r�outfileZfilelistr�rrrr�9s
zHTMLHelp.dumpfilescCs`i|_|jr&|jd\}}}}}||_td|d�x|jD]}|j|d|�q:Wtd|d�dS)Nrz<UL>)r�z</UL>)r�r��topnoderg�dumpnode)rr�r"rwrOrrrr�>szHTMLHelp.dumpnodesrc
Cs�|r�|\}}}}}||_||jkr&dSd|j|<td|d|d�tdd|d�td|dd|d�td|dd|d�td|d	�y |j|}	|j|	|d
|�Wntk
r�YnXdS)Nr:rz)r{r�z <LI><OBJECT type="text/sitemap">z<param name="Name" value="z">z<param name="Local" value="z	</OBJECT>)r�r})r�r�rgr��dumpmenur�)
rrO�indentr�r"rr	r
r�r�rrrr�Is 


zHTMLHelp.dumpnodecCs�|r||j}||jkr0td|d|d�|d7}x$|D]}|j|�}|j|||�q6W||jkr|td|d|d�|d8}dS)Nrzz<UL>)r�r}z</UL>)r�r�rg�getnoder�)rr�r�r�Zcurrentnode�itemZmenunoderrrr�bs



zHTMLHelp.dumpmenucCs@y|j|}|j|Stk
r(dStk
r:dSXdS)N)r�r�r��
IndexError)rr"rxrrrr�os

zHTMLHelp.getnodecCs�td|d�xx|jD]n\}}|j|�}t|�}|jd|}tdd|d�td|dd|d�td	|dd|d�td
|d�qWtd|d�dS)Nz<UL>)r�rz <LI><OBJECT type="text/sitemap">rz)r{r�z<param name="Name" value="z">z<param name="Local" value="z	</OBJECT>z</UL>)rgr��
codeexpandrr)rr�r:�locationrrrr�ys
zHTMLHelp.dumpindexcCsX|jj|�}|s|S|jd�\}}|jd�\}}|d|�|||�||d�}|S)Nrr:)�codeprogrXri)rr�cor�r{rmrnrrrr��s$zHTMLHelp.codeexpandN)r2r3r4r5r�r�r�rrLr�r�rxr�r�r.r��stdoutr�r�r�r�r�r�r�rrrrr��s"
_

r�cCsd|dS)Nz@var{r�r)�strrrrrw�srwcCs�g}d}t|�}xZ||krjx ||kr:||dkr:|d}qW||krFP|}t|||�}|j|||��qWxt|�|kr�|jd�qnW|S)Nrz 	
r:r)r'�findwordendr)r�Z	minlengthr/r�r�r�rrrrv�s
rvz[@{} ]cCs�d}x�||kr�tj||�}|s P|j�}||}|d}|dkrJ|d}q|dkr\|d}q|dkrn|d}q|dkr|dkr|dSqW|S)Nrr:r�r�r�rz)�fwprogr�r�)r�r�r�rfrlr�rrrr��s"



r�cCs|j�}t|�dS)Nz.html)r��
fixfunnychars)r"rrrr�srz!@-=+.cCsZd}xP|t|�krT||}|tkrFd}|d|�|||dd�}|t|�}qW|S)Nrr�r:)r'�	goodchars)r$r�r�rrrr��s r�cCs�|sdSx�tjtjtjfD]�}|d}||kr|j|�d}|t|�kr�t|�dkrn|dd}|dkr�d}q�t|dd��|d}n|dd	�||}|SqW|S)
N�1r:rr}Z00Z10rbrbrb)r��digitsZascii_lowercaseZascii_uppercaserxr'r�)r�ZsequenceZlastcr�rrrr��sr�cCs�ddl}d}d}d}d}d}x$|jddgkr@|d}|jd=qW|jddkr\d}|jd=|jddkrvd}|jd=|jddkr�d}|jd=|jddkr�|jd	}|jdd
�=t|j�d
kr�tdd�|jd	�|r�t�}nt�}||_||_||_	|jd}|jd	}	|j
|	�|jtj
j|��t||	�}|j|�yt|d
�}
Wn:tk
�r�}zt|d|�|jd�WYdd}~XnX|j|
�|
j�|j�|j�dS)Nrrr:z-dz-pz-cz-3z-Hr}r~z5usage: texi2hh [-d [-d]] [-p] [-c] [-3] [-H htmlhelp]zinputfile outputdirectoryr�r)r��argvr'rgr�r�r8r1r=r>rSrTr�r�rr�rRrr�r]rr�r.)r�r=r>r1Zhtml3rCr��parserr�rrr�rrr�test�s\







r��__main__)r�r�r�r�rYr�rhrWZkwprogr�r�rr7r8r�r�rwrvr�r�rr�r�r�r�r�r�r2rrrr�<module>BsL




	[0-
9


Youez - 2016 - github.com/yon3zu
LinuXploit