HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/sphinx/writers/__pycache__/manpage.cpython-310.pyc
o

�$�a�=�@s�dZddlmZmZmZmZddlmZddlm	Z	m
Z
mZddlm
ZddlmZddlmZddlmZdd	lmZmZdd
lmZddlmZddlmZdd
lmZe�e �Z!Gdd�de�Z"Gdd�d�Z#Gdd�dee�Z$dS)z�
    sphinx.writers.manpage
    ~~~~~~~~~~~~~~~~~~~~~~

    Manual page writer, extended for Sphinx custom nodes.

    :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�)�Any�Dict�Iterable�cast)�nodes)�Element�Node�TextElement)�
Translator)�Writer)�addnodes)�Builder)�_�admonitionlabels)�logging)�SphinxTranslator)�format_date)�NodeMatchercs0eZdZdeddf�fdd�Zddd�Z�ZS)	�ManualPageWriter�builder�returnNcst���||_dS�N)�super�__init__r)�selfr��	__class__��8/usr/lib/python3/dist-packages/sphinx/writers/manpage.pyrs

zManualPageWriter.__init__cCsLt|j�}|��|j�|j|j�}tt|�|_|j�|�|j�	�|_
dSr)�NestedInlineTransform�document�applyr�create_translatorr�ManualPageTranslator�visitor�	walkabout�astext�output)r�	transformr$rrr�	translate"s
zManualPageWriter.translate)rN)�__name__�
__module__�__qualname__r
rr)�
__classcell__rrrrrsrc@s6eZdZdZdejddfdd�Zdeddfdd	�ZdS)
ra
    Flatten nested inline nodes:

    Before:
        <strong>foo=<emphasis>1</emphasis>
        &bar=<emphasis>2</emphasis></strong>
    After:
        <strong>foo=</strong><emphasis>var</emphasis>
        <strong>&bar=</strong><emphasis>2</emphasis>
    r rNcCs
||_dSr)r )rr rrrr6�
zNestedInlineTransform.__init__�kwargscs�ttjtjtj��t|j����D]N}t�fdd�|D��r_|j	�
|�}tt|��D]*}|�|��|�r?|j	�
|d|�q*|jdd|fi|j��}|j	�
|d|�q*t|�s_|j	�|�qdS)Nc3s�|]}�|�VqdSrr)�.0�subnode��matcherrr�	<genexpr><��z.NestedInlineTransform.apply.<locals>.<genexpr>��)rr�literal�emphasis�strong�listr �traverse�any�parent�index�reversed�remove�insertr�
attributes�len)rr/�node�posr1�newnoderr2rr!9s
��zNestedInlineTransform.apply)	r*r+r,�__doc__rr rrr!rrrrr+s
rcseZdZUdZiZeeefed<de	j
deddf�fdd�Zdefd	d
�Z
deddfdd
�Zdeddfdd�Zdeddfdd�Zdeddfdd�Zdeddfdd�Zdeddfdd�Zdeddfdd�Zdeddfdd�Zdeddfdd�Zdeddfdd�Zdeddfd d!�Zdeddfd"d#�Zdeddfd$d%�Zdeddfd&d'�Zdeddfd(d)�Zdeddfd*d+�Zdeddfd,d-�Zdeddfd.d/�Z deddfd0d1�Z!deddfd2d3�Z"deddfd4d5�Z#deddfd6d7�Z$deddfd8d9�Z%deddfd:d;�Z&deddfd<d=�Z'deddfd>d?�Z(deddfd@dA�Z)deddfdBdC�Z*deddfdDdE�Z+deddfdFdG�Z,deddf�fdHdI�Z-deddfdJdK�Z.deddf�fdLdM�Z/deddfdNdO�Z0deddfdPdQ�Z1deddfdRdS�Z2deddfdTdU�Z3deddfdVdW�Z4deddfdXdY�Z5deddfdZd[�Z6deddfd\d]�Z7deddfd^d_�Z8deddfd`da�Z9deddfdbdc�Z:deddfddde�Z;deddfdfdg�Z<deddfdhdi�Z=deddfdjdk�Z>deddfdldm�Z?deddfdndo�Z@deddfdpdq�ZAdeddfdrds�ZBdeddfdtdu�ZCdeddfdvdw�ZDdeddfdxdy�ZEdeddfdzd{�ZFdeddfd|d}�ZGdeddfd~d�ZHdeddfd�d��ZIdeddfd�d��ZJdeddfd�d��ZKdeddfd�d��ZLdeddfd�d��ZMdeddfd�d��ZNdeddfd�d��ZOdeddfd�d��ZPdeddfd�d��ZQdeddf�fd�d��ZRdeddf�fd�d��ZSdeddf�fd�d��ZTdeddf�fd�d��ZUdeddfd�d��ZVdeddfd�d��ZWdeddfd�d��ZXdeddfd�d��ZYdeddfd�d��ZZdeddfd�d��Z[deddfd�d��Z\deddfd�d��Z]de^ddfd�d��Z_�Z`S)�r#z%
    Custom man page translator.
    �_docinfor rrNcs�t��||�d|_d|_|jj|jd<|jj|jd<|jjr&|jj|jd<|jj	|jd<|jd�
�|jd<|jjrC|jj|jd<nt
|jjpKtd	�|jjd
�|jd<|jj|jd<|jj|jd<|jj|jd
<t��D]
\}}|�|�|jj|<qmdS)Nr����title�subtitle�author�manual_section�title_upper�datez	%b %d, %Y)�language�	copyright�version�manual_group)rr�in_productionlist�
section_level�settingsrKrIrL�authors�section�upper�config�todayr�	today_fmtrrQrRrS�projectr�items�	deunicode�labels)rr r�label�translationrrrrQs(��zManualPageTranslator.__init__cCs d}|jdr|d7}||jS)NzW.TH "%(title_upper)s" "%(manual_section)s" "%(date)s" "%(version)s" "%(manual_group)s"
rLz#.SH NAME
%(title)s \- %(subtitle)s
)rI)r�tmplrrr�headerqs

zManualPageTranslator.headerrEcC�dSrr�rrErrr�visit_start_of_filey�z(ManualPageTranslator.visit_start_of_filecCrfrrrgrrr�depart_start_of_file|riz)ManualPageTranslator.depart_start_of_filecC�|�|�dSr)�visit_definition_listrgrrr�
visit_desc��zManualPageTranslator.visit_desccCrkr)�depart_definition_listrgrrr�depart_desc�rnz ManualPageTranslator.depart_desccCs|�|�|�|�dSr)�visit_definition_list_item�
visit_termrgrrr�visit_desc_signature�s
z)ManualPageTranslator.visit_desc_signaturecCrkr)�depart_termrgrrr�depart_desc_signature�rnz*ManualPageTranslator.depart_desc_signaturecCrfrrrgrrr�visit_desc_signature_line�riz.ManualPageTranslator.visit_desc_signature_linecC�|j�d�dS)N� ��body�appendrgrrr�depart_desc_signature_line��z/ManualPageTranslator.depart_desc_signature_linecCrkr)�visit_definitionrgrrr�visit_desc_content�rnz'ManualPageTranslator.visit_desc_contentcCrkr)�depart_definitionrgrrr�depart_desc_content�rnz(ManualPageTranslator.depart_desc_contentcCrfrrrgrrr�visit_desc_inline�riz&ManualPageTranslator.visit_desc_inlinecCrfrrrgrrr�depart_desc_inline�riz'ManualPageTranslator.depart_desc_inlinecCrfrrrgrrr�visit_desc_name�riz$ManualPageTranslator.visit_desc_namecCrfrrrgrrr�depart_desc_name�riz%ManualPageTranslator.depart_desc_namecCrfrrrgrrr�visit_desc_addname�riz'ManualPageTranslator.visit_desc_addnamecCrfrrrgrrr�depart_desc_addname�riz(ManualPageTranslator.depart_desc_addnamecCrfrrrgrrr�visit_desc_type�riz$ManualPageTranslator.visit_desc_typecCrfrrrgrrr�depart_desc_type�riz%ManualPageTranslator.depart_desc_typecCrw)Nz -> ryrgrrr�visit_desc_returns�r}z'ManualPageTranslator.visit_desc_returnscCrfrrrgrrr�depart_desc_returns�riz(ManualPageTranslator.depart_desc_returnscCs|j�d�d|_dS)N�(r6)rzr{�first_paramrgrrr�visit_desc_parameterlist�s
z-ManualPageTranslator.visit_desc_parameterlistcCrw)N�)ryrgrrr�depart_desc_parameterlist�r}z.ManualPageTranslator.depart_desc_parameterlistcCs |js|j�d�dSd|_dS)N�, r)r�rzr{rgrrr�visit_desc_parameter�s
z)ManualPageTranslator.visit_desc_parametercCrfrrrgrrr�depart_desc_parameter�riz*ManualPageTranslator.depart_desc_parametercCrw)N�[ryrgrrr�visit_desc_optional�r}z(ManualPageTranslator.visit_desc_optionalcCrw)N�]ryrgrrr�depart_desc_optional�r}z)ManualPageTranslator.depart_desc_optionalcCrfrrrgrrr�visit_desc_annotation�riz*ManualPageTranslator.visit_desc_annotationcCrfrrrgrrr�depart_desc_annotation�riz+ManualPageTranslator.depart_desc_annotationcCrkr)�visit_paragraphrgrrr�visit_versionmodified�rnz*ManualPageTranslator.visit_versionmodifiedcCrkr)�depart_paragraphrgrrr�depart_versionmodified�rnz+ManualPageTranslator.depart_versionmodifiedcs0t|�tj��r|j�d�dSt��|�dS�N�
)r;r<rr:rzr{rrrrgrrrrr�szManualPageTranslator.visit_termcC�tj�r�r�SkipNodergrrr�
visit_comment��z"ManualPageTranslator.visit_commentcs|��t��|�dSr)�
ensure_eolr�visit_footnotergrrrr���z#ManualPageTranslator.visit_footnotecCs`|��t|�dkr(|��dtd�fvr(|j�d|�|�����d�tj	�|j�d�dS)Nr6�	Footnotesz.SH r��.sp
)
r�rDr&rrzr{r`rZrr�rgrrr�visit_rubric�s
 "z!ManualPageTranslator.visit_rubriccCrwr�ryrgrrr�
depart_rubric�r}z"ManualPageTranslator.depart_rubriccCs|�|d�dS)N�seealso)�visit_admonitionrgrrr�
visit_seealsor}z"ManualPageTranslator.visit_seealsocCrkr)�depart_admonitionrgrrr�depart_seealsornz#ManualPageTranslator.depart_seealsocCs&|��g}|jd7_|j�d�tttj|�}|D]	}|�|d�qtdd�|D��}d}|D]N}|drg|d�	|�}|j�|j
dd�|j�|�|��|j�|j
dd�|j�d�n|durw|j�d	d
t|��|�
|�|j�d�q4|j�d�|jd8_tj�)
Nr6z.sp
.nf
�	tokennamecss�|]}t|�VqdSr)rD)r0�namerrrr4r5z<ManualPageTranslator.visit_productionlist.<locals>.<genexpr>r:rz ::= z%s     rxr�z
.fi
)r�rUrzr{rrr�
production�max�ljust�defsr`rDr%rr�)rrE�names�productionlistr��maxlen�lastnamerrr�visit_productionlists.
z)ManualPageTranslator.visit_productionlistcCrfrrrgrrr�visit_productionriz%ManualPageTranslator.visit_productioncCrfrrrgrrr�depart_production"riz&ManualPageTranslator.depart_productioncCs@d|jvr|j�td�|dd�|j�td�d�tj�)N�altz[image: %s]r�z[image])rCrzr{rrr�rgrrr�visit_image&s
z ManualPageTranslator.visit_imagecCs�|j�|jdd�|�|�|j�|jdd�|�dd�}|�d�s5|�d�s5|�d�s5|�d	�r_|jjr_|��|kr_|�d�rJ|d
d�}|j�	d|jdd||jddd
g�t
j�)N�	referencerr6�refurir7zmailto:zhttp:zhttps:zftp:�z <r:�>)rzr{r��
visit_Text�get�
startswithr[�
man_show_urlsr&�extendrr�)rrE�urirrr�visit_reference-s$
��
�z$ManualPageTranslator.visit_referencecCs"t�|�dd��}|�|�tj�)NrK�#)r�Textr�r�r�)rrE�textrrr�visit_number_referenceAs
z+ManualPageTranslator.visit_number_referencecCs|��|j�d�dS)Nz.sp
.ce
)r�rzr{rgrrr�visit_centeredFr�z#ManualPageTranslator.visit_centeredcCrw)Nz
.ce 0
ryrgrrr�depart_centeredJr}z$ManualPageTranslator.depart_centeredcCrfrrrgrrr�visit_compact_paragraphMriz,ManualPageTranslator.visit_compact_paragraphcCrfrrrgrrr�depart_compact_paragraphPriz-ManualPageTranslator.depart_compact_paragraphcCrfrrrgrrr�visit_download_referenceSriz-ManualPageTranslator.visit_download_referencecCrfrrrgrrr�depart_download_referenceVriz.ManualPageTranslator.depart_download_referencecCr�rr�rgrrr�
visit_toctreeYr�z"ManualPageTranslator.visit_toctreecCr�rr�rgrrr�visit_index\r�z ManualPageTranslator.visit_indexcCr�rr�rgrrr�visit_tabular_col_spec_r�z+ManualPageTranslator.visit_tabular_col_speccCrfrrrgrrr�visit_glossarybriz#ManualPageTranslator.visit_glossarycCrfrrrgrrr�depart_glossaryeriz$ManualPageTranslator.depart_glossarycCszttj|d�}tttj|�}|��ttj|d�}tttj|�}|j�d�dd�|D��d�|j�d�tj	�)Nrr�css�|]}|��VqdSr)r&)r0�nrrrr4nr5z2ManualPageTranslator.visit_acks.<locals>.<genexpr>�.r�)
rr�bullet_listr�	list_itemr�rzr{�joinr�)rrEr��
list_itemsrrr�
visit_ackshs zManualPageTranslator.visit_ackscCrkr)�visit_bullet_listrgrrr�visit_hlistrrnz ManualPageTranslator.visit_hlistcCrkr)�depart_bullet_listrgrrr�depart_hlisturnz!ManualPageTranslator.depart_hlistcCrfrrrgrrr�visit_hlistcolxriz#ManualPageTranslator.visit_hlistcolcCrfrrrgrrr�depart_hlistcol{riz$ManualPageTranslator.depart_hlistcolcC�
|�|�Sr)�visit_emphasisrgrrr�visit_literal_emphasis~r.z+ManualPageTranslator.visit_literal_emphasiscCr�r)�depart_emphasisrgrrr�depart_literal_emphasis�r.z,ManualPageTranslator.depart_literal_emphasiscCr�r��visit_strongrgrrr�visit_literal_strong�r.z)ManualPageTranslator.visit_literal_strongcCr�r��
depart_strongrgrrr�depart_literal_strong�r.z*ManualPageTranslator.depart_literal_strongcCrfrrrgrrr�visit_abbreviation�riz'ManualPageTranslator.visit_abbreviationcCrfrrrgrrr�depart_abbreviation�riz(ManualPageTranslator.depart_abbreviationcCr�rr�rgrrr�
visit_manpage�r.z"ManualPageTranslator.visit_manpagecCr�rr�rgrrr�depart_manpage�r.z#ManualPageTranslator.depart_manpagec�:t|jtj�r|j�d�r|j�d�dSt��|�dS)N�
literal_blockr�)	�
isinstancer>r�	containerr�rzr{r�
visit_captionrgrrrr���z"ManualPageTranslator.visit_captioncr�)Nr�r�)	r�r>rr�r�rzr{r�depart_captionrgrrrr��r�z#ManualPageTranslator.depart_captioncsvt|jtj�r|j�d�dSt|jtj�r5|jdkrtj	�|jdkr5|j�d|�
|������tj	�t
��|�S)Nz.IP "rr6z.SH %s
)r�r>rr�rzr{rrYrVr�r`r&rZr�visit_titlergrrrr��s

�z ManualPageTranslator.visit_titlecs*t|jtj�r|j�d�dSt��|�S)Nz"
)r�r>rr�rzr{r�depart_titlergrrrr��sz!ManualPageTranslator.depart_titlecCs*d|�dd���vr|j�|���tj�)N�manpage�formatr7)r��splitrzr{r&rr�rgrrr�	visit_raw�szManualPageTranslator.visit_rawcCr�rr�rgrrr�
visit_meta�r�zManualPageTranslator.visit_metacCrfrrrgrrr�visit_inline�riz!ManualPageTranslator.visit_inlinecCrfrrrgrrr�
depart_inline�riz"ManualPageTranslator.depart_inlinecCrfrrrgrrr�
visit_math�rizManualPageTranslator.visit_mathcCrfrrrgrrr�depart_math�riz ManualPageTranslator.depart_mathcCrkr)r�rgrrr�visit_math_block�rnz%ManualPageTranslator.visit_math_blockcCrkr)r�rgrrr�depart_math_block�rnz&ManualPageTranslator.depart_math_blockcCstd|jj��)NzUnknown node: )�NotImplementedErrorrr*rgrrr�
unknown_visit�r}z"ManualPageTranslator.unknown_visit)ar*r+r,rHrIr�strr�__annotations__rr r
rrerrhrjrmrprsrurvr|rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr�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�rrrrrrrr	rrr-rrrrr#Js�
 

r#N)%rH�typingrrrr�docutilsr�docutils.nodesrrr	�docutils.writers.manpager
�BaseTranslatorr�sphinxr�sphinx.buildersr
�
sphinx.localerr�sphinx.utilr�sphinx.util.docutilsr�sphinx.util.i18nr�sphinx.util.nodesr�	getLoggerr*�loggerrrr#rrrr�<module>s"