o $a)@sdZddlmZmZmZmZmZmZddlm Z ddl m Z ddl m Z ddlmZddlmZddlmZdd lmZerJdd lmZdd lmZed ed eddZddddZGdddeZGdddeZGdddeZdddeeeffddZ dS)z sphinx.domains.changeset ~~~~~~~~~~~~~~~~~~~~~~~~ The changeset domain. :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. ) TYPE_CHECKINGAnyDictList NamedTuplecast)nodes)Node)addnodes)Domain)_)SphinxDirective) OptionSpec)Sphinx)BuildEnvironmentzNew in version %szChanged in version %szDeprecated since version %s) versionaddedversionchanged deprecatedaddedchangedrc@s>eZdZUeed<eed<eed<eed<eed<eed<dS) ChangeSettypedocnamelinenomoduledescnamecontentN)__name__ __module__ __qualname__str__annotations__intr#r#:/usr/lib/python3/dist-packages/sphinx/domains/changeset.pyr(s  rc@s@eZdZUdZdZdZdZdZiZe e d<de e fddZ dS) VersionChangezT Directive to describe a change/addition/deprecation in a specific version. T option_specreturnc Cst}|jj|_|||j|d<|jd|d<t|j|jd}t|jdkrU|j |jd|j d\}}t j |jddg|Rddi}||| |ng}|jrd|j|j|j|d t|jg}t|dkrt|dt j r|djrt j|djd d }|dj|_|dj|_||dj7}|dt j dd|dd tt j |d}|dt jdd ||d n4t|dkrt j ddt jdd ||d dd }|d|nt j ddt jdd||d dd }| |tt|jd}|||g} | |7} | S)Nrrversionr& translatableFversionmodifiedT)r,z%s: )classesz%s. changeset)r r-statedocumentset_source_infoname arguments versionlabelslen inline_textrr paragraphappendr nested_parsecontent_offsetversionlabel_classes isinstance rawsourceinlinesourcelinechildren replace_selfrinsertChangeSetDomainenv get_domainnote_changeset) selfnodetextinodesmessagesparar.rdomainretr#r#r$run;sT            zVersionChange.runN)rrr__doc__ has_contentrequired_argumentsoptional_argumentsfinal_argument_whitespacer'rr!rr rQr#r#r#r$r%1s  r%c@seZdZUdZdZdZdiiZeed<e dee e e ffddZ dejdd fd d Zd e dd fd dZde e dedd fddZddd e dejdd fddZde de e fddZd S)rEzDomain for changesets.r/changes initial_datar(cCs|jdiSNrW)data setdefault)rIr#r#r$ changesetsxszChangeSetDomain.changesetsrJNcCs\|d}|jjd}|jjd}t|d|jj|j|||}|j |g |dS)Nr)z py:moduleobjectr) rF ref_contextget temp_datarrrAastextr\r[r9)rIrJr)robjnamer/r#r#r$rH|s zChangeSetDomain.note_changesetrcCs>|jD]\}}|ddD] }|j|kr||qqdSN)r\itemsrremove)rIrr)rWr/r#r#r$ clear_docs  zChangeSetDomain.clear_docdocnames otherdatacCsF|dD]\}}|j|g}|D] }|j|vr||qqdSrY)rdr\r[rr9)rIrgrhr) otherchangesrWr/r#r#r$merge_domaindatas  z ChangeSetDomain.merge_domaindatarFrr1cCsdSrcr#)rIrFrr1r#r#r$ process_docszChangeSetDomain.process_docr)cCs|j|gSrc)r\r_)rIr)r#r#r$get_changesets_forsz"ChangeSetDomain.get_changesets_for)rrrrRr3labelrXrr!propertyr rrr\r r-rHrfrjrr1rkrlr#r#r#r$rEns  rEapprr(cCs<|t|dt|dt|dtdddddS)Nrrrbuiltinr&T)r) env_versionparallel_read_safeparallel_write_safe) add_domainrE add_directiver%)ror#r#r$setups    rvN)!rRtypingrrrrrrdocutilsrdocutils.nodesr sphinxr sphinx.domainsr sphinx.localer sphinx.util.docutilsr sphinx.util.typingrsphinx.applicationrsphinx.environmentrr5r<rr%rEr rvr#r#r#r$s0          =+