ó
\c           @   sÆ  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l m Z d  d l  m Z 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 d  d l m Z d  d	 l m Z d  d
 l m Z d  d l Z e g  e d d d e j  D]0 Z d e d k pd e d k sś e d ^ qś  Z d d d d d g Z d d d d d d g Z e j j d  e j j e d d d     Z e d  e  d!    Z  d S("   i’’’’N(   t   walk_packages(   t	   getsourcet
   isabstract(   t	   signature(   t   IS_PYPY(   t   SkipTest(   t   check_docstring_parameters(   t   _get_func_name(   t   ignore_warnings(   t   _is_deprecatedt   prefixs   sklearn.t   paths   ._i   s   .tests.s%   sklearn.utils.deprecation.load_mlcomps   sklearn.pipeline.make_pipelines   sklearn.pipeline.make_unions%   sklearn.utils.extmath.safe_sparse_dots   sklearn.utils._joblibt   fitt   scoret   fit_predictt   fit_transformt   partial_fitt   predicts   ignore::DeprecationWarningt   reasons   test segfaults on PyPyc             sŗ  y% d d  l  }  t j d k s$ t  Wn# t t f k
 rJ t d   n Xd d l  m } g  } xt D] } | d k r qh n  t j	 d t
   t j |  } Wd  QXt j | t j  } g  | D] } | d j | k rÄ | ^ qÄ } x„| D]\ } } g  } | t k sš | j d	  r#qš n  t |  r5qš n  t j	 d t
   }	 | j |  }
 Wd  QXt |	  rt d
 | | |	 d f   n  t | d d   } t |  rÆqš n+ | d  k	 rŚ| t | j |
 d | 7} n  x¦ |
 j D] } t | |  } t |  rqän  d  } | t k r]t |  } d | j k r]| j d j  d  k r]d g } q]n  t | d | d | } | | 7} qäW| | 7} qš Wt j | t j!  } g  | D] } | d j | k r­| ^ q­} x | D] \ } } | j d	  rśqŁn  | d k r| j" d  rqŁn  t# |    t$   f d   t D  rŁt |  rŁ| t |  7} qŁqŁWqh Wd d j% t& t' t( |     } t |  d k r¶t d |   n  d  S(   Ni’’’’i   i   sM   numpydoc is required to test the docstrings, as well as python version >= 3.5(   t	   docscrapes   sklearn.utils.fixest   recordi   t   _s"   Error for __init__ of %s in %s:
%si    t   __init__t
   class_namet   yt   ignoret   configurationt   setupc         3   s   |  ] } |   k Vq d  S(   N(    (   t   .0t   d(   t   name_(    sF   lib/python2.7/site-packages/sklearn/tests/test_docstring_parameters.pys	   <genexpr>|   s    s   
s   Docstring Error: (   i   i   ()   t   numpydoct   syst   version_infot   AssertionErrort   ImportErrorR   R   t   PUBLIC_MODULESt   warningst   catch_warningst   Truet	   importlibt   import_modulet   inspectt
   getmemberst   isclasst
   __module__t   _DOCSTRING_IGNORESt
   startswithR   t   ClassDoct   lent   RuntimeErrort   getattrt   NoneR	   R   R   t   methodst   _METHODS_IGNORE_NONE_YR   t
   parameterst   defaultt
   isfunctiont   endswithR   t   anyt   joint   sortedt   listt   set(   R   R   t	   incorrectt   namet   modulet   classest   clst   cnamet   this_incorrectt   wt   cdoct   cls_initt   method_namet   methodt   param_ignoret   sigt   resultt	   functionst   fnt   fnamet   funct   msg(    (   R   sF   lib/python2.7/site-packages/sklearn/tests/test_docstring_parameters.pyt   test_docstring_parameters3   sv    ,,%t   categoryc          C   s©   x¢ t  t j d d D] \ }  } } t rI d | k s d | k rI q n  t j |  } y t |  } Wn t k
 r~ q n Xd | k s t d d | f   q Wd  S(   NR
   s   sklearn.t   _svmlight_formats   feature_extraction._hashings   	s"   "%s" has tabs, please remove them s   or add it to theignore list(	   R    t   sklearnt   __path__R   R(   R)   R   t   IOErrorR"   (   t   importert   modnamet   ispkgt   modt   source(    (    sF   lib/python2.7/site-packages/sklearn/tests/test_docstring_parameters.pyt	   test_tabs   s    (!   R*   R    R%   R(   t   pkgutilR    R   R   RW   t   sklearn.baseR   t   sklearn.utilsR   t   sklearn.utils.testingR   R   R   R   t   sklearn.utils.deprecationR	   t   pytestR?   RX   t   pckgR$   R.   R6   t   markt   filterwarningst   skipifRT   t   DeprecationWarningR_   (    (    (    sF   lib/python2.7/site-packages/sklearn/tests/test_docstring_parameters.pyt   <module>   s>   3		$P