o
$a= @ s d Z ddlmZmZmZmZ ddlmZ ddlm Z m
Z
mZ ddlm
Z ddlmZ ddlmZ ddlmZ dd lmZmZ dd
lmZ ddlmZ ddlmZ dd
lmZ ee Z!G dd deZ"G dd dZ#G dd deeZ$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.
)AnyDictIterablecast)nodes)ElementNodeTextElement)
Translator)Writer)addnodes)Builder)_admonitionlabels)logging)SphinxTranslator)format_date)NodeMatcherc s0 e Zd Zdeddf fddZdddZ ZS ) ManualPageWriterbuilderreturnNc s t || _d S N)super__init__r )selfr __class__ 8/usr/lib/python3/dist-packages/sphinx/writers/manpage.pyr s
zManualPageWriter.__init__c C sL t | j}| | j| j| j}tt|| _| j| | j | _
d S r )NestedInlineTransformdocumentapplyr create_translatorr ManualPageTranslatorvisitor walkaboutastextoutput)r transformr$ r r r translate" s
zManualPageWriter.translate)r N)__name__
__module____qualname__r
r r)
__classcell__r r r r r s r c @ s6 e Zd ZdZdejddfddZdeddfdd ZdS )
r a
Flatten nested inline nodes:
Before:
foo=1
&bar=2
After:
foo=var
&bar=2
r r Nc C s
|| _ d S r )r )r r r r r r 6
zNestedInlineTransform.__init__kwargsc s t tjtjtj t| j D ]N}t fdd|D r_|j
|}tt|D ]*}|| |r?|j
|d | q*|jdd|fi |j}|j
|d | q*t|s_|j | qd S )Nc 3 s | ]} |V qd S r r ).0subnodematcherr r <