
    zi                    H   d Z ddlmZ ddlmZmZmZmZ ddlm	Z	 ddl
mZ ddlmZ ddlmZ ddlmZ erdd	lmZ dd
lmZ ddlmZ ddlmZ  ed           ed           ed          dZddddZ G d de          Z G d de          Z G d de          Zd dZdS )!zThe changeset domain.    )annotations)TYPE_CHECKINGAny
NamedTuplecast)nodes)addnodes)Domain)_)SphinxDirective)Node)Sphinx)BuildEnvironment)
OptionSpeczNew in version %szChanged in version %szDeprecated since version %s)versionaddedversionchanged
deprecatedaddedchangedr   c                  L    e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   d
S )	ChangeSetstrtypedocnameintlinenoz
str | NonemoduledescnamecontentN)__name__
__module____qualname____annotations__     c/var/www/tmov.alphamb/tmov_inventario/venv/lib/python3.11/site-packages/sphinx/domains/changeset.pyr   r   #   sL         IIILLLKKKLLLLLr%   r   c                  :    e Zd ZU dZdZdZdZdZi Zde	d<   d
dZ
d	S )VersionChangezT
    Directive to describe a change/addition/deprecation in a specific version.
    T   r   option_specreturn
list[Node]c           	     h   t          j                    }| j        j        |_        |                     |           | j        |d<   | j        d         |d<   t          | j                 | j        d         z  }t          | j                  dk    r}| j        	                    | j        d         | j
        dz             \  }}t          j        | j        d         dg|R ddi}|                     |           |                    |           ng }| j        r&| j                            | j        | j        |           d	t"          | j                 g}t          |          dk    rt%          |d         t          j                  r|d         j        rt          j        |d         j        d
          }|d         j        |_        |d         j        |_        ||d         j        z  }|d                             t          j        dd|d                     |d         }|                    dt          j        dd|z  |                     nt          |          dk    rGt          j        ddt          j        dd|z  |          d          }|                    d|           nEt          j        ddt          j        dd|z  |          d          }|                    |           t5          t6          | j                            d                    }|                    |           |g}	|	|z  }	|	S )Nr   r   version   r)    translatableFversionmodifiedT)r1   z%s: )classesz%s.	changeset)r	   r2   statedocumentset_source_infoname	argumentsversionlabelsleninline_textr   r   	paragraphappendr   nested_parsecontent_offsetversionlabel_classes
isinstance	rawsourceinlinesourcelinechildrenreplace_selfinsertr   ChangeSetDomainenv
get_domainnote_changeset)
selfnodetextinodesmessagesparar3   r   domainrets
             r&   runzVersionChange.run6   s   '))
+T"""yV.+YTY'$.*;;t~!###z55dnQ6G6:kAo G  GFH?4>!#4bV6VVVPUVVD  &&&KKH< 	MJ##DL$2EtLLL$&:49&EFt99q==ZQAA=Aw  [,tAw'8tLLL!%a#Aw|47++Q$$U_RWSX%Y%Y%YZZZ7DKK5<FTM7KKKLLLLYY]]?2r#(<FTM7#S#S#S057 7 7D KK4     ?2r#(<EDL'#R#R#R057 7 7D KKotx':':;'G'GHHd###&x
r%   N)r+   r,   )r    r!   r"   __doc__has_contentrequired_argumentsoptional_argumentsfinal_argument_whitespacer*   r#   rV   r$   r%   r&   r(   r(   ,   s^           K $ K    0 0 0 0 0 0r%   r(   c                  n    e Zd ZU dZdZdZdi iZded<   edd            Z	ddZ
ddZd dZd!dZd"dZdS )#rJ   zDomain for changesets.r4   changesdict[str, Any]initial_datar+   dict[str, list[ChangeSet]]c                8    | j                             di           S Nr]   )data
setdefault)rN   s    r&   
changesetszChangeSetDomain.changesetss   s    y##Ir222r%   rO   addnodes.versionmodifiedNonec           	     d   |d         }| j         j                            d          }| j         j                            d          }t	          |d         | j         j        |j        |||                                          }| j        	                    |g           
                    |           d S )Nr.   z	py:moduleobjectr   )rK   ref_contextget	temp_datar   r   rF   astextre   rd   r>   )rN   rO   r.   r   objnamer4   s         r&   rM   zChangeSetDomain.note_changesetw   s    y/%))+66($((22d6lDH,<di$gt{{}}> >	""7B//66yAAAAAr%   r   r   c                    | j                                         D ]/}|d d          D ]"}|j        |k    r|                    |           #0d S N)re   valuesr   remove)rN   r   r]   r4   s       r&   	clear_doczChangeSetDomain.clear_doc   sf    --// 	. 	.G$QQQZ . .	$//NN9---.	. 	.r%   docnames	list[str]	otherdatac                    |d                                          D ]C\  }}| j                            |g           }|D ] }|j        |v r|                    |           !Dd S rb   )itemsre   rd   r   r>   )rN   rt   rv   r.   otherchangesr]   r4   s          r&   merge_domaindataz ChangeSetDomain.merge_domaindata   s}    %.y%9%?%?%A%A 	. 	.!G\o00"==G) . .	$00NN9---.	. 	.r%   rK   r   r6   nodes.documentc                    d S rp   r$   )rN   rK   r   r6   s       r&   process_doczChangeSetDomain.process_doc   s	     	r%   r.   list[ChangeSet]c                8    | j                             |g           S rp   )re   rk   )rN   r.   s     r&   get_changesets_forz"ChangeSetDomain.get_changesets_for   s    ""7B///r%   N)r+   r`   )rO   rf   r+   rg   )r   r   r+   rg   )rt   ru   rv   r^   r+   rg   )rK   r   r   r   r6   r{   r+   rg   )r.   r   r+   r~   )r    r!   r"   rW   r8   labelr_   r#   propertyre   rM   rs   rz   r}   r   r$   r%   r&   rJ   rJ   i   s           DE 	2$L     3 3 3 X3B B B B. . . .. . . .   
0 0 0 0 0 0r%   rJ   appr   r+   r^   c                    |                      t                     |                     dt                     |                     dt                     |                     dt                     dddddS )Nr   r   r   builtinr)   T)r.   env_versionparallel_read_safeparallel_write_safe)
add_domainrJ   add_directiver(   )r   s    r&   setupr      st    NN?###lM222nm444&666 "#	  r%   N)r   r   r+   r^   ) rW   
__future__r   typingr   r   r   r   docutilsr   sphinxr	   sphinx.domainsr
   sphinx.localer   sphinx.util.docutilsr   docutils.nodesr   sphinx.applicationr   sphinx.environmentr   sphinx.util.typingr   r:   rA   r   r(   rJ   r   r$   r%   r&   <module>r      s     " " " " " " 7 7 7 7 7 7 7 7 7 7 7 7             ! ! ! ! ! !       0 0 0 0 0 0 .######))))))333333------ a+,,a/00a566   !$      
   : : : : :O : : :z*0 *0 *0 *0 *0f *0 *0 *0Z     r%   