
nWc           @   sf  d  Z  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	 d d l
 Z d d l m Z d d l m Z m Z m Z d d l m Z d d	 d
 d d d d g Z e j j Z d Z e Z d g Z d d d  Z e j j Z e e  Z d e f d     YZ e e j _ e j d  Z  e  e j! _  e" e d e# e j$ j% d    Z& d S(   s@   Extensions to the 'distutils' for large or complex distributionsiN(   t   Command(   t   convert_path(   t	   Extension(   t   Distributiont   Featuret   _get_unpatched(   t   Requiret   setupR   R   R    R   R   t   find_packagess   lib2to3.fixest   .c         C   s:  g  } t  |   d f g } x | r | j d  \ }  } x t j |   D] } t j j |  |  } d | k o t j j |  o t j j t j j | d   } | rI | j | |  | j | | | d f  qI qI Wq WxS t	 |  d g D]> } d d l
 m }	 g  | D] }
 |	 |
 |  s|
 ^ q} q W| S(   s  Return a list all Python packages found within directory 'where'

    'where' should be supplied as a "cross-platform" (i.e. URL-style) path; it
    will be converted to the appropriate local path syntax.  'exclude' is a
    sequence of package names to exclude; '*' can be used as a wildcard in the
    names, such that 'foo.*' will exclude all subpackages of 'foo' (but not
    'foo' itself).
    t    i    R	   s   __init__.pyt   ez_setupi(   t   fnmatchcase(   R   t   popt   ost   listdirt   patht   joint   isdirt   isfilet   appendt   listt   fnmatchR   (   t   wheret   excludet   outt   stackt   prefixt   namet   fnt   looks_like_packaget   patR   t   item(    (    s:   /var/www/html/venv/build/setuptools/setuptools/__init__.pyR      s     		!&,c           B   s,   e  Z e j Z e Z d    Z d d  Z RS(   c         K   sA   t  j |  |  x* | j   D] \ } } t |  | |  q Wd  S(   N(   t   _Commandt   __init__t   itemst   setattr(   t   selft   distt   kwt   kt   v(    (    s:   /var/www/html/venv/build/setuptools/setuptools/__init__.pyR"   C   s    i    c         K   sF   t  j |  | |  } x* | j   D] \ } } t | | |  q" W| S(   N(   R!   t   reinitialize_commandR#   R$   (   R%   t   commandt   reinit_subcommandsR'   t   cmdR(   R)   (    (    s:   /var/www/html/venv/build/setuptools/setuptools/__init__.pyR*   I   s    (   t   __name__t
   __module__R!   t   __doc__t   Falset   command_consumes_argumentsR"   R*   (    (    (    s:   /var/www/html/venv/build/setuptools/setuptools/__init__.pyR    >   s   		c         C   s   g  } x t  j |   D] \ } } } | t  j k sM | j t  j t  j  rZ | d } n  | r g  | D] } t  j j | |  ^ qg } n  | j t t  j j	 |   q W| S(   s^   Find all files under 'dir' and return the list of full filenames
    (relative to 'dir').
    i   (
   R   t   walkt   curdirt
   startswitht   sepR   R   t   extendt   filterR   (   t   dirt	   all_filest   baset   dirst   filest   f(    (    s:   /var/www/html/venv/build/setuptools/setuptools/__init__.pyt   findallQ   s    (+ t   dont_write_bytecodet   PYTHONDONTWRITEBYTECODE(    ('   R0   R   t   syst   distutils.coret	   distutilst   distutils.filelistR    R!   t   distutils.utilR   t   setuptools.versiont
   setuptoolst   setuptools.extensionR   t   setuptools.distR   R   R   t   setuptools.dependsR   t   __all__t   versiont   __version__t   Nonet   bootstrap_install_fromt   Truet   run_2to3_on_doctestst   lib2to3_fixer_packagesR   t   coreR   R4   R?   t   filelistt   getattrt   boolt   environt   gett   _dont_write_bytecode(    (    (    s:   /var/www/html/venv/build/setuptools/setuptools/__init__.pyt   <module>   s2   			