Ñò
­JOc        
   @   sÌ   d  d k  Z  d  d k Z d  d k Z d  d k Z d  d k Z d  d k l Z l Z l Z d e f d „  ƒ  YZ	 d e	 e f d „  ƒ  YZ
 d e	 e f d „  ƒ  YZ d	 e	 f d
 „  ƒ  YZ d d h  d „ Z d S(   iÿÿÿÿN(   t   NumpyDocStringt   FunctionDoct   ClassDoct   SphinxDocStringc           B   s¶   e  Z h  d  „ Z d d „ Z d „  Z d d „ Z d „  Z d „  Z d „  Z d	 „  Z	 e
 d
 „  ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d d d „ Z RS(   c         C   s/   | i  d t ƒ |  _ t i |  | d | ƒd  S(   Nt	   use_plotst   config(   t   gett   FalseR   R    t   __init__(   t   selft	   docstringR   (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyR      s    t   `c         C   s   d | d g S(   Ns   .. rubric:: t    (    (   R	   t   namet   symbol(    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt   _str_header   s    c         C   s   d | d g S(   Nt   :(    (   R	   R   (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt   _str_field_list   s    i   c         C   s0   g  } x# | D] } | d | | g 7} q W| S(   Nt    (    (   R	   t   doct   indentt   outt   line(    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt   _str_indent   s
     c         C   s4   d g S|  d o d |  d g d g Sd g Sd  S(   NR   t	   Signatures   ``%s``(    (   R	   (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt   _str_signature   s    c         C   s   |  d d g S(   Nt   SummaryR   (    (   R	   (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt   _str_summary   s    c         C   s   |  d d g S(   Ns   Extended SummaryR   (    (   R	   (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt   _str_extended_summary!   s    c         C   s­   g  } |  | o˜ | |  i  | ƒ 7} | d g 7} xu |  | D]e \ } } } | |  i d | i ƒ  | f g ƒ 7} | d g 7} | |  i | d ƒ 7} | d g 7} q< Wn | S(   NR   s   **%s** : %si   (   R   R   t   strip(   R	   R   R   t   paramt
   param_typet   desc(    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt   _str_param_list$   s     c         C   s4   t  |  d ƒ o |  i St  |  d ƒ o |  i Sd  S(   Nt   _clst   _f(   t   hasattrR"   R#   t   None(   R	   (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt   _obj1   s
    c         C   s  g  } |  | o	| d | d g 7} t  |  d d ƒ } | o d | } n g  } g  } xv |  | D]j \ } } } | i ƒ  } |  i p t |  i | ƒ o | d | | f g 7} qc | i | | | f ƒ qc W| o! | d d d g 7} | | 7} n | o	t g  }	 | D] }
 |	 t |
 d ƒ q~	 ƒ } t g  } | D] }
 | t |
 d	 ƒ q?~ ƒ } d
 | d d
 | d d } d | | f } | | d } | | g 7} xJ | D]B \ } } } | | | i ƒ  | f g 7} | |  i | | ƒ 7} q²W| | g 7} n | d g 7} n | S(   sp   
        Generate a member listing, autosummary:: table where possible,
        and a table where not.

        s   .. rubric:: %sR   t   _names   ~%s.s      %s%ss   .. autosummary::s      :toctree:i    i   t   =s     i
   s   %%%ds  %%%ds  i   s
   ==========(   t   getattrR   R&   R$   t   appendt   maxt   lenR   (   R	   R   R   t   prefixt   autosumt   othersR   R   R    t   _[1]t   xt   maxlen_0t   _[2]t   maxlen_1t   hdrt   fmtt   n_indent(    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt   _str_member_list9   s>     11 c         C   su   g  } |  | o` | |  i  | ƒ 7} | d g 7} t i d i |  | ƒ ƒ i d ƒ } | | 7} | d g 7} n | S(   NR   s   
(   R   t   textwrapt   dedentt   joint   split(   R	   R   R   t   content(    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt   _str_sectionb   s    %
c         C   sT   g  } |  d o? t  t |  ƒ i | ƒ } d d g } | |  i | d ƒ 7} n | S(   Ns   See Alsos   .. seealso::R   i   (   t   superR   t   _str_see_alsoR   (   R	   t	   func_roleR   t   see_also(    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyR@   l   s    c         C   s<   g  } |  d o' d d g } | |  i  |  d ƒ 7} n | S(   Nt   Warningss   .. warning::R   (   R   (   R	   R   (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt   _str_warningst   s
    c         C   sÅ   |  d } g  } t  | ƒ d j o | S| d | i d d ƒ g 7} xy | i ƒ  D]k \ } } | d j o qR qR | d j o | d d i | ƒ g 7} qR | d	 | d
 i | ƒ f g 7} qR W| S(   Nt   indexi    s   .. index:: %st   defaultR   t   refguides      single: %ss   , s	      %s: %st   ,(   R,   R   t	   iteritemsR;   (   R	   t   idxR   t   sectiont
   references(    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt
   _str_index{   s    
 $c      
   C   s7  g  } |  d o"| |  i  d ƒ 7} t |  d t ƒ o |  d g |  d <n | i |  d ƒ | d g 7} t i d j o | d d g 7} n | d d g 7} g  } xK |  d D]? } t i d | t i ƒ } | o | i	 | i
 d ƒ ƒ q° q° W| d d	 i g  } | D] } | d
 | q
~ ƒ d g 7} n | S(   Nt
   ReferencesR   s   0.6s   .. only:: latexs   .. latexonly::s   .. \[([a-z0-9._-]+)\]i   s      s   , s   [%s]_(   R   t
   isinstancet   strt   extendt   sphinxt   __version__t   ret   matcht   IR*   t   groupR;   (   R	   R   t   itemsR   t   mR0   t   item(    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt   _str_references‹   s$     @c         C   sš   d i  |  d ƒ } |  i ol d | j o_ d | j oR g  } | |  i d ƒ 7} | d d g 7} | |  i |  d ƒ 7} | d g 7} | S|  i d ƒ Sd  S(   Ns   
t   Exampless   import matplotlibs   plot::s	   .. plot::R   (   R;   R   R   R   R>   (   R	   t   examples_strR   (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt   _str_examples¡   s    i    t   objc         C   s
  g  } | |  i  ƒ  7} | |  i ƒ  d g 7} | |  i ƒ  7} | |  i ƒ  7} x! d D] } | |  i | ƒ 7} qT W| |  i ƒ  7} | |  i | ƒ 7} | |  i d ƒ 7} | |  i ƒ  7} | |  i	 ƒ  7} x! d D] } | |  i
 | ƒ 7} qÎ W|  i | | ƒ } d
 i | ƒ S(   NR   t
   Parameterst   Returnss   Other Parameterst   Raisest   Warnst   Notest
   Attributest   Methodss   
(   s
   Parameterss   Returnss   Other Parameterss   RaisesRc   (   Re   Rf   (   R   RM   R   R   R!   RD   R@   R>   R[   R^   R8   R   R;   (   R	   R   RA   R   t
   param_list(    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt   __str__¯   s&      (   t   __name__t
   __module__R   R   R   R   R   R   R   R!   t   propertyR&   R8   R>   R@   RD   RM   R[   R^   Rh   (    (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyR      s"   						)	
					t   SphinxFunctionDocc           B   s   e  Z d h  d  „ Z RS(   c         C   s5   | i  d t ƒ |  _ t i |  | d | d | ƒd  S(   NR   R   R   (   R   R   R   R   R   (   R	   R_   R   R   (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyR   Ã   s    N(   Ri   Rj   R%   R   (    (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyRl   Â   s   t   SphinxClassDocc           B   s   e  Z d d h  d  „ Z RS(   c      	   C   s;   | i  d t ƒ |  _ t i |  | d | d d  d | ƒd  S(   NR   R   t   func_docR   (   R   R   R   R   R   R%   (   R	   R_   R   Rn   R   (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyR   È   s    N(   Ri   Rj   R%   R   (    (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyRm   Ç   s   t   SphinxObjDocc           B   s   e  Z d h  d  „ Z RS(   c         C   s#   | |  _  t i |  | d | ƒd  S(   NR   (   R#   R   R   (   R	   R_   R   R   (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyR   Í   s    	N(   Ri   Rj   R%   R   (    (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyRo   Ì   s   c         C   sç   | d  j oU t i |  ƒ o
 d } qb t i |  ƒ o
 d } qb t |  ƒ o
 d } qb d } n | d j o t |  d t d | d | ƒS| d	 j o t |  d | d | ƒS| d  j o t i |  ƒ } n t	 |  | d | ƒSd  S(
   Nt   classt   modulet   functiont   objectRn   R   R   t   method(   s   functions   method(
   R%   t   inspectt   isclasst   ismodulet   callableRm   Rl   t   pydoct   getdocRo   (   R_   t   whatR   R   (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt   get_doc_objectÑ   s     



(   RT   Ru   R9   Ry   RR   t	   docscrapeR    R   R   R   Rl   Rm   Ro   R%   R|   (    (    (    s<   /Users/rgommers/Code/scipy/doc/sphinxext/docscrape_sphinx.pyt   <module>   s   0½