ž ΰ’Reυ c@sldZddlZddlZddlZddlZddlmZddlm Z ddl Z ddl m Z ddlmZmZmZddlmZdd d d d d dgZe jjZdZdZdgZdfdd„ZejjZeeƒZGdd „d eƒZeej_ejdd„Z e ej!_ e"ede#ej$j%dƒƒƒZ&dS(u@Extensions to the 'distutils' for large or complex distributionsiN(uCommand(u convert_path(u Extension(u DistributionuFeatureu_get_unpatched(uRequireusetupu DistributionuFeatureuCommandu ExtensionuRequireu find_packagesu lib2to3.fixesu.cs.g}t|ƒdfg}xΒ|rί|jdƒ\}}x tj|ƒD]}tjj||ƒ}d|ko tjj|ƒo tjjtjj|dƒƒ}|rI|j||ƒ|j|||dfƒqIqIWqWxGt |ƒdgD]2‰ddl m ‰‡‡fdd†|Dƒ}qτW|S( u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). uiu.u __init__.pyuez_setup(u fnmatchcasecs%g|]}ˆ|ˆƒs|‘qS(((u.0uitem(u fnmatchcaseupat(u,/tmp/pip-k8wh6o-build/setuptools/__init__.pyu 7s u!find_packages..( u convert_pathupopuosulistdirupathujoinuisdiruisfileuappendulistufnmatchu fnmatchcase(uwhereuexcludeuoutustackuprefixunameufnulooks_like_package((u fnmatchcaseupatu,/tmp/pip-k8wh6o-build/setuptools/__init__.pyu find_packagess   !& cBs>|EeZdZejZdZdd„Zddd„ZdS(uCommandcKsAtj||ƒx*|jƒD]\}}t|||ƒqWdS(N(u_Commandu__init__uitemsusetattr(uselfudistukwukuv((u,/tmp/pip-k8wh6o-build/setuptools/__init__.pyu__init__CsuCommand.__init__icKsFtj|||ƒ}x*|jƒD]\}}t|||ƒq"W|S(N(u_Commandureinitialize_commanduitemsusetattr(uselfucommandureinit_subcommandsukwucmdukuv((u,/tmp/pip-k8wh6o-build/setuptools/__init__.pyureinitialize_commandIsuCommand.reinitialize_commandNF( u__name__u __module__u __qualname__u_Commandu__doc__uFalseucommand_consumes_argumentsu__init__ureinitialize_command(u __locals__((u,/tmp/pip-k8wh6o-build/setuptools/__init__.pyuCommand>s  cs¦g}x™tj|ƒD]ˆ\‰}}ˆtjksMˆjtjtjƒr`ˆdd…‰nˆr‚‡fdd†|Dƒ}n|jttjj|ƒƒqW|S(u^Find all files under 'dir' and return the list of full filenames (relative to 'dir'). iNcs%g|]}tjjˆ|ƒ‘qS((uosupathujoin(u.0uf(ubase(u,/tmp/pip-k8wh6o-build/setuptools/__init__.pyu Zs ufindall..( uosuwalkucurdiru startswithusepuextendufilterupathuisfile(udiru all_filesudirsufiles((ubaseu,/tmp/pip-k8wh6o-build/setuptools/__init__.pyufindallQs( ufindalludont_write_bytecodeuPYTHONDONTWRITEBYTECODET('u__doc__uosusysudistutils.coreu distutilsudistutils.filelistuCommandu_Commandudistutils.utilu convert_pathusetuptools.versionu setuptoolsusetuptools.extensionu Extensionusetuptools.distu DistributionuFeatureu_get_unpatchedusetuptools.dependsuRequireu__all__uversionu __version__uNoneubootstrap_install_fromuTrueurun_2to3_on_doctestsulib2to3_fixer_packagesu find_packagesucoreusetupucurdirufindallufilelistugetattrubooluenvironugetu_dont_write_bytecode(((u,/tmp/pip-k8wh6o-build/setuptools/__init__.pyus2