ó ZÐKc@srddlZddlZdgZdfd„ƒYZdefd„ƒYZeejjddƒƒrneZndS(iÿÿÿÿNt PackageLoadercBsŒeZeed„Zdd„Zdd„Zd„Zd„Zd„Z d„Z d„Z d„Z d „Z d „Zd d „Zd „ZRS(cBsÞ|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 ((s7/usr/lib/python2.7/site-packages/numpy/_import_tools.pyt__init__s     c Csddlm}|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.pycit.t*( Rtostpathtjointappendtdirnametlentreplacetseptextendt_get_info_files( Rt package_dirR tparent_packageRtfilest info_filet info_filest package_name((s7/usr/lib/python2.7/site-packages/numpy/_import_tools.pyR$s %  cBsddl}g}|j}|dkrWxì|jD]}|j|jd|ƒƒq1Wn¿x¼|D]´}ejj|j dƒŒ}x|jD]/}|j||ƒ}|r‰|j|ƒPq‰q‰Wyd|dUe ||: }. iÿÿÿÿNRRsimport %s.info as infos6No scipy-style subpackage %r found in %s. Ignoring: %st:tcs.pyctrbis.pytUis.infotignoretdepends(s.pycsrbi(s.pyR.i(timpRRR R#R$RRRtsplittinfot ImportErrortwarnR t load_moduletopent ExceptionterrortgetattrtFalsetpopt_init_info_modules(RtpackagesR1R)RRR*R%t names_filestmsgR(tfullnametfiledescriptort info_module((s7/usr/lib/python2.7/site-packages/numpy/_import_tools.pyR=1sN        %      cCsôi}x3|jjƒD]"\}}t|dgƒ||Òssfrom s import N(RRtgetR;RRRR=tlogR RLR:R t_execcmdRR5t _obj2reprRRRtfilterRDR#(RR>toptionsRRRNR*RCRORPt old_objecttcmdstrt new_objecttsymboltsymbolst old_objectsRS((s7/usr/lib/python2.7/site-packages/numpy/_import_tools.pyt__call__€sx$                       cBs`|j}y||j|jUWn+ek rJ}|jd||fƒeSX|jd|ƒdS(s! Execute command in parent_frame.s%s -> failed: %ss %s -> successN(RRR R8R9tTrueRV(RR\RR@((s7/usr/lib/python2.7/site-packages/numpy/_import_tools.pyRWïs cCsjt|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((s7/usr/lib/python2.7/site-packages/numpy/_import_tools.pyRXûs  cCs)|jdkr%tjt|ƒIJndS(Ni(RRtstderrR (Rtmess((s7/usr/lib/python2.7/site-packages/numpy/_import_tools.pyRVscCs)|jdkr%tjt|ƒIJndS(Ni(RRRiR (RRj((s7/usr/lib/python2.7/site-packages/numpy/_import_tools.pyR5scCs)|jdkr%tjt|ƒIJndS(Niÿÿÿÿ(RRRiR (RRj((s7/usr/lib/python2.7/site-packages/numpy/_import_tools.pyR9 scCsdt|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:RtlstripR2(RRCttitle((s7/usr/lib/python2.7/site-packages/numpy/_import_tools.pyt_get_doc_titles  s---cCs<d}g|D])\}}t|ƒ|jdƒd^q dg}t|ƒ}g}x×|D]Ï\}}||jdƒd}|t|ƒ} |jƒ} d|| d|f} t| ƒd} xf| r| jdƒ} t| ƒt| ƒ|kr |j| ƒ| } n| d| 7} qÅW|j| ƒq\Wdj|ƒS(NiFRiis%s%s %st s (R tfindtmaxR2R<RR(Rttitlestcolseptdisplay_window_widthRGRntlengthst max_lengthtlinestwtwordstlinettabtword((s7/usr/lib/python2.7/site-packages/numpy/_import_tools.pyt_format_titless$=     c Csddl}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. iÿÿÿÿNRORts [*]s, s? [*] - using a package requires explicit import (see pkgload)sB Global symbols from subpackages ------------------------------- s-->( RRR=RRDR:R tmodulesRRoRR~( RRRsR_R*RCRORAtnotetretstr((s7/usr/lib/python2.7/site-packages/numpy/_import_tools.pyt get_pkgdocs0s(     # N(RRcR;RRR$R=RLRaRWRXRVR5R9RoR~Rƒ(((s7/usr/lib/python2.7/site-packages/numpy/_import_tools.pyRs  5  o    tPackageLoaderDebugcBseZd„ZRS(cBsI|j}dG| GdGejjƒ||j|jUdGHejjƒdS(s! Execute command in parent_frame.t Executings...tokN(RRtstdouttflushRR (RR\R((s7/usr/lib/python2.7/site-packages/numpy/_import_tools.pyRWOs    (RRcRW(((s7/usr/lib/python2.7/site-packages/numpy/_import_tools.pyR„NstNUMPY_IMPORT_DEBUGt0(RRRRR„tinttenvironRU(((s7/usr/lib/python2.7/site-packages/numpy/_import_tools.pyts   ÿI