
    O&i                         d Z ddlmZmZmZ ddlmZ ddlmZ ddl	Z	ddl	m
Z
 ddlmZ ddlmZ dd	lmZ  G d
 de          ZdededdfdZdedeeef         fdZdS )z@Add external links to module code in Python object descriptions.    )AnyDictSet)nodes)NodeN)addnodes)Sphinx)SphinxError)_c                       e Zd ZdZdS )LinkcodeErrorzlinkcode errorN)__name__
__module____qualname__category     `/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/sphinx/ext/linkcode.pyr   r      s        HHHr   r   appdoctreereturnc           
          | j         j        }t          |j        dd           }t	          |j        j                  st          d          ddgdgdgddgd}t          |                    t          j
                            D ]}|                    d          }t                      }|D ]}t          |t          j                  si }	|                    |g           D ] }
|                    |
          }|sd	}||	|
<   !|	sY |||	          }|sh||v s|so|                    |           t!          j        d	t%          d
          dg          }t          j        d          }|t!          j        d	d	|d|          z  }||z  }
d S )Nlinkcode_resolvez3Function `linkcode_resolve` is not given in conf.pymodulefullnamenamesobject)pyccppjsdomain z[source]zviewcode-link)classeshtml)exprF)internalrefuri)builderenvgetattrconfigcallabler   r   listfindallr   descgetset
isinstancedesc_signatureaddr   inliner   only	reference)r   r   r*   resolve_targetdomain_keysobjnoder"   urissignodeinfokeyvalueurir6   onlynodes                  r   doctree_readrC      s   
+/CSZ);TBBNCJ/00 CAC C 	C $Yy$	 K 6677    X&& 	  	 Ggx'>??  D"vr22 " "C(( E!S		  !...C d{{#{HHSMMM\"a
mmo=NOOOF}&111HBsSSSSHxGG9	    r   c                     |                      dt                     |                     dd d           t          j        ddS )Nzdoctree-readr   r#   T)versionparallel_read_safe)connectrC   add_config_valuesphinx__display_version__)r   s    r   setuprK   D   s@    KK---+T26661NNNr   )__doc__typingr   r   r   docutilsr   docutils.nodesr   rI   r   sphinx.applicationr	   sphinx.errorsr
   sphinx.localer   r   rC   strrK   r   r   r   <module>rT      s.   F F ! ! ! ! ! ! ! ! ! !                    % % % % % % % % % % % %               K      . f . t .  .  .  .  . bOv O$sCx. O O O O O Or   