
    O&io,                        d Z ddlZddlZddlZddlmZmZmZmZm	Z	m
Z
mZ ddlmZmZ ddlmZmZ ddlmZ ddlmZmZmZmZmZmZ erddlmZ  ej        e          Zd	ed
e de fdZ!d	ed
e dee          fdZ"dde de#defdZ$dedfde de	e          de deee gef         de#defdZ% G d de
          Z&	 d d	ede	e          dededee e&f         f
dZ'	 d!d	ede	e          dede#dee df         f
dZ(dS )"zImporter utilities for autodoc    N)TYPE_CHECKINGAnyCallableDictList
NamedTupleOptional)ismock
undecorate)ModuleAnalyzerPycodeError)logging)getannotationsgetmrogetslotsisclassisenumclasssafe_getattr)ObjectMembersubjectnamereturnc                     	 t          |           r6|                    d          r!|                    d          sd| j        |S n# t          $ r Y nw xY w|S )zMangle the given name.___)r   
startswithendswith__name__AttributeError)r   r   s     h/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/sphinx/ext/autodoc/importer.pymangler!      s}    7 	6 5 5 	6dmmD>Q>Q 	6 	6%..55    Ks   AA 
AAc                 6   	 t          |           rw|                    d          sbd| j        z  }|                    |          r|                    |dd          S | j        D ]$}d|j        z  }|                    |          r dS %n# t          $ r Y nw xY w|S )zUnmangle the given name.r   z_%s__   N)r   r   r   r   replace__mro__r   )r   r   prefixclss       r    unmangler(      s    7 		$DMM$$7$7 		$w//Fv&& $||FD!444"? $ $C$s|3Fv.. $#tt$     Ks   AB	 )B	 B	 	
BBFmodnamewarningiserrorc                    	 t          j                    5  t          j        dt                     t	          j        |           5  t          j        |           cddd           cddd           S # 1 swxY w Y   	 ddd           dS # 1 swxY w Y   dS # t          $ r'}t          |t          j                              |d}~ww xY w)zR
    Call importlib.import_module(modname), convert exceptions to ImportError
    ignore)categoryN)warningscatch_warningsfilterwarningsImportWarningr   skip_warningiserror	importlibimport_moduleBaseExceptionImportError	traceback
format_exc)r)   r*   excs      r    r4   r4   2   sw   @$&& 	8 	8#H}EEEE,-?@@ 8 8 .w778 8 8 8 8 8 8	8 	8 	8 	8 	8 	8 	8 	88 8 8 8 8 8 8 8 8	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8  @ @ @ #y35566C?@sd   B 1BA3B&B 3A7	7B:A7	;B?B BB BB 
C
#"CC
 objpathobjtype
attrgetterc                 H   |r0t                               d| d                    |                     nt                               d|            	 d }d }t          |          }|	 t	          | |          }t                               d| |           ni# t
          $ r\}t                               d|            |}d| v r0|                     dd          \  } }|                    d|           n Y d }~nd }~ww xY w||}	d }
d }|D ]}|	}
t                               d	|           t          |	|          } ||	|          }		 t                               d
|	           n,# t          $ r t                               d
|	f           Y nw xY w|}||
||	gS # t          t
          f$ r}t          |t                    r|r|}|rd|dd                    |          d| }nd|d| }t          |t
                    r^|j        \  }}t          |t                    r|dz  }nRt          |t
                    r|j        r|d|j        d         z  z  }n"|d|z  z  }n|dt          j                    z  z  }t                               |           t          |          |d }~ww xY w)Nz[autodoc] from %s import %s.z[autodoc] import %s)r*   z[autodoc] import %s => %rz[autodoc] import %s => failedr#   r   z[autodoc] getattr(_, %r)z[autodoc] => %rzautodoc: failed to import  z from module zJ; the module executes module level statement and it might call sys.exit().z(; the following exception was raised:
%s)loggerdebugjoinlistr4   r6   rsplitinsertr!   	TypeErrorr   
isinstanceargs
SystemExitr7   r8   )r)   r;   r<   r=   r*   moduleexc_on_importingr9   r   objparentobject_nameattrnamemangled_nameerrmsgreal_exctraceback_msgs                    r    import_objectrU   A   sI     52GSXXg=N=NOOOO*G444>+w--n&w~NNN8'6JJJJ   <gFFF#& '>>$+NN3$:$:MGTNN1d++++ ,++++	 n  	# 	#HFLL3X>>>!#x00L*S,//C8.4444 8 8 8 .777778
 #KKS11K( + + +c>** 	#/? 	#"C 	L 	Lww 1 1 1 177<FF	L ;B''77KFc;'' 	[ '*h#Hm(J// V ; <Hk22 Vx} VEVWHXXXEUUAIDXDZDZZZFV&!!s*5+si   F %-B F 
C9AC4/F 4C99AF EF &FF FF J!$C8JJ!c                   .    e Zd ZU eed<   eed<   eed<   dS )	Attributer   directly_definedvalueN)r   
__module____qualname__str__annotations__boolr        r    rW   rW      s.         
IIIJJJJJr`   rW   analyzerc                    ddl m}  || di           }i }t          |           rv| j                                        D ]\  }}||vrt          |d|          ||<   | j        d         }	|D ]/}||	j        vr$t          | |          }t          |d|          ||<   0	 t          |           }
|
rddl m
} |
D ]}t          |d|          ||<   n# t          t          f$ r Y nw xY wt          |           D ]M}	  || |          }||v }t          | |          }|r||vrt          |||          ||<   ># t          $ r Y Jw xY wt!          t#          |                     D ]E\  }}t%          |          D ]0}t          ||          }|r||vrt          ||dk    |          ||<   1F|rMd                    |          }|                                D ]#\  }}||k    r||vrt          |d|          ||<   $|S )z,Get members and attributes of target object.r   )INSTANCEATTR__dict__Tr#   	SLOTSATTRr?   )sphinx.ext.autodocrc   r   __members__itemsrW   r%   rd   r   r   rf   rG   
ValueErrordirr(   r   	enumerater   r   rC   find_attr_docs)r   r;   r=   ra   rc   obj_dictmembersr   rY   
superclass	__slots__rf   rX   ir'   	namespacenss                    r    get_object_membersru      s    0///// z':r22H$&G 7 	=".4466 	= 	=KD%7"" )$e < <_Q'
 	= 	=D:...$Wd33 )$e < <W%%	 	A444444! A A )$i @ @z"    G  	Jw--E#x/GT**D IG++ )$0@% H H 	 	 	H	 F7OO,, F F3"3'' 	F 	FDC&&D FG++ )$Q E E	F
  DHHW%%	"1133 	D 	DJRB4w#6#6 )$l C CNs$   0C C! C!6:D11
D>=D>Tinherit_docstringsr   c           
      D   ddl m}m}  || di           }i }t          |           rp| j                                        D ]\  }}	||vr |||	|           ||<   | j        d         }
|D ],}||
j        vr!t          | |          }	 |||	|           ||<   -	 t          |           }|r2ddl m
} |                                D ]\  }} |||| |          ||<   n# t          t          f$ r Y nw xY wt          |           D ]x}	  || |          }	t          |	          rt          |	          }	t!          | |          }|r)||vr%||v r |||	|           ||<   n |||	          ||<   i# t"          $ r Y uw xY w	 t%          |           D ]}	 t          |d          }t          |d	          }t'          j        |          }|                                 n!# t"          $ r d
}d
}Y nt,          $ r d
}Y nw xY wt/          |          D ]\}t!          ||          }|rH||vrD|r.||f|j        v r#d                    |j        ||f                   }nd
} |||||          ||<   ]|r|j                                        D ]\  \  }}}||k    r*||vr& ||||d                    |                    ||<   8||k    rN|rLt5          ||         |          r6||         j        s)|| k    r|sld                    |          ||         _        n# t"          $ r Y nw xY w|S )z+Get members and attributes of target class.r   )rc   r   rd   )class_r#   re   )rx   	docstringrZ   r[   N
)rg   rc   r   r   rh   ri   r%   rd   r   r   rf   rG   rj   rk   r
   r   r(   r   r   r   
for_moduleanalyzer   r   	attr_docsrC   rH   ry   )r   r;   r=   rv   rc   r   rn   ro   r   rY   rp   rq   rf   ry   	unmangledr'   r)   qualnamera   rt   s                       r    get_class_membersr      s    >======= z':r22H')G 7 	J".4466 	J 	JKD%7"" ,T5 I I I_Q'
 	J 	JD:...$Wd33 ,T5 I I I	W%%	 	B444444#,??#4#4 B Bi ,T9W7@!B !B !Bz"    G  	Jw--Ee}} *"5)) $//I HYg558##)5iw)W)W)WGI&&)5i)G)GGI& 	 	 	H	,'?? )	G )	GC	 &sL99'^<<)4W==  """"!              's++ 	F 	FT** FD// )Xt$48J$J$J$(IIh.@4.P$Q$Q		$(	$0L|C;D%F %F %FGDM  G-5-?-E-E-G-G G G)JR	X~~$g*=*=(4T<PS?Cyy?S?S)U )U )U..Y.$WT]LAA )%dm5 ) '>>2D> % 37))I2F2F/S)	GT     Nsj   AC C0/C0A%E++
E87E8<L AGL G6&L (G63L 5G66DL 
LL)F)N)T))__doc__r3   r7   r.   typingr   r   r   r   r   r   r	   sphinx.ext.autodoc.mockr
   r   sphinx.pycoder   r   sphinx.utilr   sphinx.util.inspectr   r   r   r   r   r   rg   r   	getLoggerr   rA   r\   r!   r(   r^   r4   rU   rW   ru   r   r_   r`   r    <module>r      s    $ $          Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5      / / / / / / / / / / / / / / / /  0//////		8	$	$C s s    c  #    &@ @3 @ @ @ @ @ @ DF:F).F+ F+3 F+c F+S F+&Sz37F+"&F+36F+ F+ F+ F+R    
    37: : :d3i :X :!/:;?Y;O: : : :| 26` `s `T#Y `H `*.`:>sN?R:S` ` ` ` ` `r`   