ó 2ÄÈ[c@`sddlmZmZmZddlZddlZddlZdgZdefd„ƒYZ de fd„ƒYZ e ej j ddƒƒr™e Z ndS( i(tdivisiontabsolute_importtprint_functionNt PackageLoadercB`sŒeZeed„Zdd„Zdd„Zd„Zd„Zd„Z d„Z d„Z d„Z d „Z d „Zd d „Zd „ZRS(cB`sÞ|rd}nd}ej|ƒ|_}ed|j|jƒ|_ed|j|jƒ}e|eƒry|g}n||_ d|jkr¤d|j|jUned|j|jƒ|_ i|_ g|_ d|_dS(s# Manages loading packages. iit__name__t__path__t__all__s __all__ = []N(tsyst _getframet parent_frametevalt f_globalstf_localst parent_namet isinstancetstrt parent_pathtparent_export_namest info_modulestimported_packagestNonetverbose(tselfRtinfunct_leveltframeR((s2/tmp/pip-build-fiC0ax/numpy/numpy/_import_tools.pyt__init__ s     c C`sddlm}|tjj||dƒƒ}xF|tjj||dƒƒD]&}|d |krM|j|ƒqMqMWg}x|D]‡}tjj|t|ƒdƒjtjdƒ}|rÐ|d|}n|j||fƒ|j |j dtjj|ƒ|ƒƒq„W|S( sU Return list of (package name,info.py file) from parent_path subdirectories. i(tglobsinfo.pysinfo.pyciÿÿÿÿit.t*( Rtostpathtjointappendtdirnametlentreplacetseptextendt_get_info_files( Rt package_dirRtparent_packageRtfilest info_filet info_filest package_name((s2/tmp/pip-build-fiC0ax/numpy/numpy/_import_tools.pyR' s %  cB`sddlm}g}|j}|dkr[xì|jD]}|j|jd|ƒƒq5Wn¿x¼|D]´}ejj |j dƒŒ}x|jD]/}|j||ƒ}|r|j|ƒPqqWyd|dUe ||: }. i(tnpy_load_moduleRRsimport %s.info as infoNs6No scipy-style subpackage %r found in %s. Ignoring: %st:iÿÿÿÿtcs.pyctrbis.pytUis.infotignoretdepends(s.pycR1i(s.pyR2i(t numpy.compatR.RRRR&R'RRR tsplittinfot ImportErrortwarnR t ExceptionterrortgetattrtFalsetpopt_init_info_modules(RtpackagesR.R,RRR-R(t names_filestmsgR+tfullnametfiledescriptort info_module((s2/tmp/pip-build-fiC0ax/numpy/numpy/_import_tools.pyR?4sL       %      cC`si}x3|jjƒD]"\}}t|dgƒ|| failed: %ss %s -> successN(R R R R:R;tTrueRY(RR_RRB((s2/tmp/pip-build-fiC0ax/numpy/numpy/_import_tools.pyRZõs cC`sjt|ddƒ}t|ddƒ}|dk rBt|ƒd|S|dk r`t|ƒd|St|ƒS(s Return repr(obj) witht __module__t__file__s from N(R<Rtrepr(Rtobjtmoduletfile((s2/tmp/pip-build-fiC0ax/numpy/numpy/_import_tools.pyR[s  cC`s/|jdkr+tt|ƒdtjƒndS(NiRl(RtprintRRtstderr(Rtmess((s2/tmp/pip-build-fiC0ax/numpy/numpy/_import_tools.pyRY scC`s/|jdkr+tt|ƒdtjƒndS(NiRl(RRmRRRn(RRo((s2/tmp/pip-build-fiC0ax/numpy/numpy/_import_tools.pyR9scC`s/|jdkr+tt|ƒdtjƒndS(NiÿÿÿÿRl(RRmRRRn(RRo((s2/tmp/pip-build-fiC0ax/numpy/numpy/_import_tools.pyR;scC`sdt|ddƒ}|dk r"|St|ddƒ}|dk r`|jƒjddƒd}|SdS(s4 Get the title from a package info.py file. t __doc_title__t__doc__s iis* Not Available *N(R<RtlstripR6(RREttitle((s2/tmp/pip-build-fiC0ax/numpy/numpy/_import_tools.pyt_get_doc_titles  s---cC`s<d}g|D])\}}t|ƒ|jdƒd^q dg}t|ƒ}g}x×|D]Ï\}}||jdƒd}|t|ƒ} |jƒ} d|| d|f} t| ƒd} xY| r| jdƒ} t| ƒt| ƒ|kr |j| ƒ| } n| d| 7} qÅW|j| ƒq\Wdj|ƒS(NiFRiis%s%s %st s (R#tfindtmaxR6R>R!R (Rttitlestcolseptdisplay_window_widthRJRstlengthst max_lengthtlinestwtwordstlinettabtword((s2/tmp/pip-build-fiC0ax/numpy/numpy/_import_tools.pyt_format_titles!s$=     c C`sddl}i|_|jdƒg}g}x£|jjƒD]’\}}t|dgƒ}|jd|}d}||jkr‹d}n|j||j |ƒ|fƒ|r>|j|dj |ƒfƒq>q>W|j |ƒd} |r | d |j |d ƒ7} n| S( s6 Return documentation summary of subpackages. iNRSRts [*]s, s? [*] - using a package requires explicit import (see pkgload)sB Global symbols from subpackages ------------------------------- s-->( RRR?RRFR<R tmodulesR!RtR Rƒ( RRRxRbR-RERSRCtnotetretstr((s2/tmp/pip-build-fiC0ax/numpy/numpy/_import_tools.pyt get_pkgdocs5s(     # N(RRgR=RRR'R?ROReRZR[RYR9R;RtRƒRˆ(((s2/tmp/pip-build-fiC0ax/numpy/numpy/_import_tools.pyR s  4  s    tPackageLoaderDebugcB`seZd„ZRS(cB`s]|j}ede|ƒdddƒejjƒ||j|jUedƒejjƒdS(s! Execute command in parent_frame.t Executings...tendRutokN(R RmRiRtstdouttflushR R (RR_R((s2/tmp/pip-build-fiC0ax/numpy/numpy/_import_tools.pyRZTs    (RRgRZ(((s2/tmp/pip-build-fiC0ax/numpy/numpy/_import_tools.pyR‰SstNUMPY_IMPORT_DEBUGt0(t __future__RRRRRRVRtobjectRR‰tinttenvironRX(((s2/tmp/pip-build-fiC0ax/numpy/numpy/_import_tools.pyts    ÿK