3
d
                 @   sZ   d Z ddlmZ ddlmZ ddlmZ ddlmZ ej	Z
dZG dd	 d	e
Zd
d ZdS )zsphinx autodoc ext.    )_)autodoc)BaseInterface   )get_urlz\
.. index:: {name}

.. _{module}.{name}:

{name}
{underline}
`Link to code <{code_url}>`__

c               @   s    e Zd ZdZeddddZdS )NipypeClassDocumenter   N)sigreturnc             C   s  | j rd| _t| dd}t| d| j}| j }| j }d}yt| jt}W n t	k
r^   Y nX |dkrt
jt| j| j|dt| d}xb|j D ]}| j|| qW nD| jd	||||f | | jjr| jd
| | jr| jd| j | | j  o| jjr| j }| jd| t| jdg }	g }
x|	D ]}d}yt|t}W n t	k
rX   Y nX |jdkrx|
jd|j  n4|r|
jd|j|jf  n|
jd|j|jf  q,W | jdtddj|
  | d S )N	attributedomainpydirectivetypeFT=)Zcode_urlmodulenameZ	underlinez.. %s:%s:: %s%sz   :noindex:z   :module: %s 	__bases____builtin__builtinsz:class:`%s`z:ref:`%s.%s`z:class:`%s.%s`z   z	Bases: %sz, )r   r   )Zdoc_as_attrr   getattrZobjtypeZformat_nameZget_sourcename
issubclassobjectr   	TypeErrorRST_CLASS_BLOCKformatr   modnamelen
splitlinesZadd_lineoptionsZnoindexZobjpathZshow_inheritance
__module__append__name__r   join)selfr	   r   Z	directiver   Z
sourcenameZis_interfacelineslinebasesZbases_linksbZbased_interface r)   =/tmp/pip-build-7vycvbft/nipype/nipype/sphinxext/documenter.pyadd_directive_header   sT    
z*NipypeClassDocumenter.add_directive_header)r"   r    __qualname__prioritystrr+   r)   r)   r)   r*   r      s   r   c             C   s   | j t d S )N)Zadd_autodocumenterr   )Zappr)   r)   r*   setupS   s    r/   N)__doc__Zsphinx.localer   Z
sphinx.extr   Znipype.interfaces.baser   Zghr   ZClassDocumenterZ_ClassDocumenterr   r   r/   r)   r)   r)   r*   <module>   s   
?