3

T'íc‚ã@s¦dZddlmZmZmZddlmZddlmZddl	Z	ddl	m
Z
ddlmZddl
mZdd	lmZGd
d„deƒZeeddœd
d„Zeeeefdœdd„ZdS)z@Add external links to module code in Python object descriptions.é)ÚAnyÚDictÚSet)Únodes)ÚNodeN)Úaddnodes)ÚSphinx)ÚSphinxError)Ú_c@seZdZdZdS)Ú
LinkcodeErrorzlinkcode errorN)Ú__name__Ú
__module__Ú__qualname__Úcategory©rrú5/tmp/pip-build-gk9425m9/sphinx/sphinx/ext/linkcode.pyrsr)ÚappÚdoctreeÚreturnc
Cs4|jj}t|jddƒ}t|jjƒs*tdƒ‚ddgdgdgddgdœ}xêt|jt	j
ƒƒD]Ö}|jdƒ}tƒ}xÀ|D]¸}t
|t	jƒs‚qpi}	x.|j|gƒD]}
|j|
ƒ}|sªd	}||	|
<q”W|	s¼qp|||	ƒ}|sÌqp||ksp|rÜqp|j|ƒtjd	td
ƒdgd}
t	jd
d}|tjd	d	|
d|d7}||7}qpWqVWdS)NÚlinkcode_resolvez3Function `linkcode_resolve` is not given in conf.pyÚmoduleÚfullnameÚnamesÚobject)ÚpyÚcÚcppZjsÚdomainÚz[source]z
viewcode-link)ÚclassesÚhtml)ÚexprF)ZinternalZrefuri)ZbuilderÚenvÚgetattrÚconfigÚcallablerrÚlistÚfindallrÚdescÚgetÚsetÚ
isinstanceZdesc_signatureÚaddrÚinliner
ÚonlyÚ	reference)rrr"Zresolve_targetZdomain_keysZobjnoderÚurisZsignodeÚinfoÚkeyÚvalueÚurir-ZonlynoderrrÚdoctree_readsB




r5)rrcCs&|jdtƒ|jdddƒtjddœS)Nzdoctree-readrrT)ÚversionZparallel_read_safe)Úconnectr5Zadd_config_valueÚsphinxZ__display_version__)rrrrÚsetupDsr9)Ú__doc__ÚtypingrrrZdocutilsrZdocutils.nodesrr8rZsphinx.applicationrZ
sphinx.errorsr	Z
sphinx.localer
rr5Ústrr9rrrrÚ<module>s1