o ×$•aí=ã@sêdZddlmZmZmZmZddlmZddlm Z m Z m Z ddl m Zddl mZddlmZddlmZdd lmZmZdd lmZdd lmZdd 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: foo=1 &bar=2 After: foo=var &bar=2 r rNcCs ||_dSr)r )rr rrrr6ó zNestedInlineTransform.__init__Úkwargsc sÄttjtjtjƒ‰t|j ˆ¡ƒD]N}t‡fdd„|Dƒƒr_|j   |¡}t t|ƒƒD]*}|  |¡ˆ|ƒr?|j   |d|¡q*|jdd|fi|j¤Ž}|j   |d|¡q*t|ƒs_|j   |¡qdS)Nc3s|]}ˆ|ƒVqdSrr)Ú.0Úsubnode©ÚmatcherrrÚ <ó€z.NestedInlineTransform.apply..éÚ)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 de ddf‡fdd„ Z defd d „Z d eddfd d „Zd eddfdd„Zd eddfdd„Zd eddfdd„Zd eddfdd„Zd eddfdd„Zd eddfdd„Zd eddfdd„Zd eddfdd„Zd eddfdd„Zd eddfd d!„Zd eddfd"d#„Zd eddfd$d%„Zd eddfd&d'„Zd eddfd(d)„Zd eddfd*d+„Zd eddfd,d-„Zd eddfd.d/„Z d eddfd0d1„Z!d eddfd2d3„Z"d eddfd4d5„Z#d eddfd6d7„Z$d eddfd8d9„Z%d eddfd:d;„Z&d eddfdd?„Z(d eddfd@dA„Z)d eddfdBdC„Z*d eddfdDdE„Z+d eddfdFdG„Z,d eddf‡fdHdI„ Z-d eddfdJdK„Z.d eddf‡fdLdM„ Z/d eddfdNdO„Z0d eddfdPdQ„Z1d eddfdRdS„Z2d eddfdTdU„Z3d eddfdVdW„Z4d eddfdXdY„Z5d eddfdZd[„Z6d eddfd\d]„Z7d eddfd^d_„Z8d eddfd`da„Z9d eddfdbdc„Z:d eddfddde„Z;d eddfdfdg„Zd eddfdldm„Z?d eddfdndo„Z@d eddfdpdq„ZAd eddfdrds„ZBd eddfdtdu„ZCd eddfdvdw„ZDd eddfdxdy„ZEd eddfdzd{„ZFd eddfd|d}„ZGd eddfd~d„ZHd eddfd€d„ZId eddfd‚dƒ„ZJd eddfd„d…„ZKd eddfd†d‡„ZLd eddfdˆd‰„ZMd eddfdŠd‹„ZNd eddfdŒd„ZOd eddfdŽd„ZPd eddfdd‘„ZQd eddf‡fd’d“„ ZRd eddf‡fd”d•„ ZSd eddf‡fd–d—„ ZTd eddf‡fd˜d™„ ZUd eddfdšd›„ZVd eddfdœd„ZWd eddfdždŸ„ZXd eddfd d¡„ZYd eddfd¢d£„ZZd eddfd¤d¥„Z[d eddfd¦d§„Z\d eddfd¨d©„Z]d e^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<|j j rC|j j |jd<nt |j jpKtd ƒ|j jd |jd<|j j|jd <|j j|jd <|j j|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_signaturernz*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)rrzr{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.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 ) 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..Ú.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_emphasisr.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_abbreviationriz(ManualPageTranslator.depart_abbreviationcCrçrrìrgrrrÚ visit_manpager.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|rrr‚rƒr„r…r†r‡rˆr‰rŠr‹rŽrr’r“r•r—r˜r™r›rrrr£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 rr r-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Ús"