ó 2ÄÈ[c@`s;ddlmZmZmZddlZddlZddlZddlmZm Z m Z ddl m Z ddl jjZddlmZmZmZmZmZejddkrëddljZddlmZddlmZn,ddlZddlmZddlmZdd „Z!da"d „Z#d „Z$d Z%d Z&dZ'dZ(ddddgZ)dZ*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2de3fd„ƒYZ4de3fd „ƒYZ5d!e3fd"„ƒYZ6d#e3fd$„ƒYZ7d%e3fd&„ƒYZ8d'e3fd(„ƒYZ9dS()i(tdivisiontabsolute_importtprint_functionN(tmkdtemptmkstemptNamedTemporaryFile(trmtree(tassert_t assert_equalt assert_raisest assert_warnstSkipTesti(turlparse(tURLErrorcC`s2|tƒkr"tddƒ}|Stdƒ‚dS(s$Stub to replace urlopen for testing.tprefixturltmp_sName or service not knownN(t valid_httpurlRR (turltdatattmpfile((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyt urlopen_stubscC`stjatt_dS(N(turllib_requestturlopent old_urlopenR(((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyt setup_module$s cC`s tt_dS(N(RRR(((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pytteardown_module+sshttp://www.google.com/s index.htmlshttp://fake.abc.web/site/sfake.txts /etc/shadows ../../shadows ..\system.datsc:\windows\system.datsthree is the magic numberc C`s8tddddd|dtƒ\}}tj|ƒ|S(Ntsuffixs.txtRtdstmp_tdirttext(RtTruetostclose(tfiledirtfdtpath((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pytvalid_textfile<s' cC`s?tddddd|ƒ\}}tj|ƒtj|ƒ|S(NRs.txtRRR(RRR tremove(R!R"R#((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pytinvalid_textfileCs!  cC`sttS(N(t http_patht http_file(((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyRKscC`sttS(N(t http_fakepatht http_fakefile(((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pytinvalid_httpurlOscC`stS(N(R'(((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyt valid_baseurlSscC`stS(N(R)(((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pytinvalid_baseurlWscC`stS(N(R((((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pytvalid_httpfile[scC`stS(N(R*(((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pytinvalid_httpfile_stTestDataSourceOpencB`s‡eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z e j j ejd d kd d ƒd „ƒZRS(cC`s%tƒ|_tj|jƒ|_dS(N(Rttmpdirt datasourcet DataSourcetds(tself((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pytsetupds cC`st|jƒ|`dS(N(RR1R4(R5((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pytteardownhs cC`s-|jjtƒƒ}t|ƒ|jƒdS(N(R4topenRRR (R5tfh((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyttest_ValidHTTPls cC`s`tƒ}tt|jj|ƒy|jj|ƒWn&tk r[}t|jdkƒnXdS(N(R+R tIOErrorR4R8RterrnotNone(R5Rte((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyttest_InvalidHTTPqs  cC`stt|jjtƒƒdS(N(R R R4t_cacheR+(R5((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyttest_InvalidHTTPCacheURLErrorzscC`s9t|jƒ}|jj|ƒ}t|ƒ|jƒdS(N(R$R1R4R8RR (R5t local_fileR9((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyttest_ValidFile}s cC`s)t|jƒ}tt|jj|ƒdS(N(R&R1R R;R4R8(R5t invalid_file((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyttest_InvalidFileƒscC`s¤yddl}Wntk r)t‚nXtjj|jdƒ}|j|dƒ}|jt ƒ|j ƒ|j j|ƒ}|j ƒ}|j ƒt t |ƒdS(Nis foobar.txt.gztw(tgzipt ImportErrorR RR#tjoinR1R8twritet magic_lineR R4treadlineR(R5RGtfilepathtfptresult((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyttest_ValidGzipFile‡s      cC`s¤yddl}Wntk r)t‚nXtjj|jdƒ}|j|dƒ}|jt ƒ|j ƒ|j j |ƒ}|j ƒ}|j ƒtt |ƒdS(Nisfoobar.txt.bz2RF(tbz2RHR RR#RIR1tBZ2FileRJRKR R4R8RLR(R5RQRMRNRO((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyttest_ValidBz2File—s      iitreasons Python 2 onlycC`sºyddl}Wntk r)t‚nXtjj|jdƒ}|j|dƒ}|jt ƒ|j ƒt t ƒ0|j j|dƒ}|jƒ}|j ƒWdQXtt |ƒdS(Nisfoobar.txt.bz2RFtrt(RQRHR RR#RIR1RRRJRKR R tRuntimeWarningR4R8RLR(R5RQRMRNRO((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyttest_Bz2File_text_mode_warning§s      (t__name__t __module__R6R7R:R?RARCRERPRStpytesttmarktskipiftsyst version_infoRW(((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR0cs        tTestDataSourceExistscB`s>eZd„Zd„Zd„Zd„Zd„Zd„ZRS(cC`s%tƒ|_tj|jƒ|_dS(N(RR1R2R3R4(R5((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR6»s cC`st|jƒ|`dS(N(RR1R4(R5((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR7¿s cC`st|jjtƒƒƒdS(N(RR4texistsR(R5((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR:ÃscC`s t|jjtƒƒtƒdS(N(RR4R`R+tFalse(R5((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR?ÆscC`s^t|jƒ}t|jj|ƒƒtƒ}t|ƒ}t|jj|ƒƒt|ƒdS(N(R$R1RR4R`RR(R5Rtlocaldir((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyRCÉs   cC`s,t|jƒ}t|jj|ƒtƒdS(N(R&R1RR4R`Ra(R5R((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyREÓs(RXRYR6R7R:R?RCRE(((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR_ºs      tTestDataSourceAbspathcB`sPeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS(cC`s1tjjtƒƒ|_tj|jƒ|_dS(N(RR#tabspathRR1R2R3R4(R5((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR6ÙscC`st|jƒ|`dS(N(RR1R4(R5((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR7Ýs cC`sqttƒƒ\}}}}}}tjj|j||jtjƒjdƒƒ}t||j j tƒƒƒdS(Nt/( R RRR#RIR1tstriptsepRR4Rd(R5tschemetnetloctupathtpmstqrytfrgt local_path((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR:ás!cC`s[t|jƒ}tjj|ƒd}t||jj|ƒƒt||jj|ƒƒdS(Niÿÿÿÿ(R$R1RR#tsplitRR4Rd(R5Rt tmpfilename((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyRCçscC`stttƒƒ\}}}}}}tjj|j||jtjƒjdƒƒ}t||j j t ƒƒkƒdS(NRe( R R+RR#RIR1RfRgRR4RdR(R5RhRiRjRkRlRmt invalidhttp((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR?ïs!cC`spt|jƒ}t|jƒ}tjj|ƒd}t||jj|ƒkƒt||jj|ƒkƒdS(Niÿÿÿÿ(R$R1RR#RoRR4Rd(R5t invalidfileRRp((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyREõs c`sûtˆjƒ}tjj|ƒd}‡fd†}t|tƒƒjˆjƒƒt|tƒƒjˆjƒƒt||ƒjˆjƒƒt||ƒjˆjƒƒxJt D]B}t|t |ƒjˆjƒƒt||ƒjˆjƒƒq±WdS(Niÿÿÿÿc`stjjˆjj|ƒƒS(N(RR#RdR4(tx(R5(s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyts( R$R1RR#RoRRt startswithR+tmalicious_filesR'(R5RRpttmp_pathtfn((R5s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyttest_sandboxingþs  cC`sYtj}z?dt_|jƒ|jƒ|jƒ|jƒ|jƒWd|t_XdS(Ns\(RRgR:RCR?RERy(R5t orig_os_sep((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyttest_windows_os_sep s      ( RXRYR6R7R:RCR?RERyR{(((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyRcØs      tTestRepositoryAbspathcB`s5eZd„Zd„Zd„Zd„Zd„ZRS(cC`s7tjjtƒƒ|_tjtƒ|jƒ|_dS(N( RR#RdRR1R2t RepositoryR,trepos(R5((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR6scC`st|jƒ|`dS(N(RR1R~(R5((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR7s c C`szttƒƒ\}}}}}}tjj|jj||jtjƒjdƒƒ}|jj t ƒƒ}t ||ƒdS(NRe( R RRR#RIR~t _destpathRfRgRdR.R( R5RhRiRjRkRlRmRnRM((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR:"s !c`s‡fd†}t|tƒƒjˆjƒƒxJtD]B}t|t|ƒjˆjƒƒt||ƒjˆjƒƒq5WdS(Nc`stjjˆjj|ƒƒS(N(RR#RdR~(Rs(R5(s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyRt*s(RR.RuR1RvR'(R5RwRx((R5s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyRy)s   cC`s;tj}z!dt_|jƒ|jƒWd|t_XdS(Ns\(RRgR:Ry(R5Rz((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR{0s    (RXRYR6R7R:RyR{(((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR|s     tTestRepositoryExistscB`s>eZd„Zd„Zd„Zd„Zd„Zd„ZRS(cC`s+tƒ|_tjtƒ|jƒ|_dS(N(RR1R2R}R,R~(R5((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR6;s cC`st|jƒ|`dS(N(RR1R~(R5((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR7?s cC`s)t|jƒ}t|jj|ƒƒdS(N(R$R1RR~R`(R5R((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyRCCscC`s,t|jƒ}t|jj|ƒtƒdS(N(R&R1RR~R`Ra(R5R((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyREHscC`st|jjtƒƒƒdS(N(RR~R`R(R5((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyttest_RemoveHTTPFileLsc C`sxtƒ}t|ƒ\}}}}}}tjj|jj|ƒ}tj|dƒt|ƒ} t |jj | ƒƒdS(NiÀ( RR RR#RIR~RtmkdirR$RR`( R5t localfileRhRiRjRkRlRmRnR((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyttest_CachedHTTPFileOs   (RXRYR6R7RCRERR„(((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR€:s      t TestOpenFunccB`s#eZd„Zd„Zd„ZRS(cC`stƒ|_dS(N(RR1(R5((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR6\scC`st|jƒdS(N(RR1(R5((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR7_scC`sbt|jƒ}tj|d|jƒ}t|ƒ|jƒtj|ƒ}t|ƒ|jƒdS(Ntdestpath(R$R1R2R8RR (R5RBRN((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyttest_DataSourceOpenbs   (RXRYR6R7R‡(((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pyR…[s  (:t __future__RRRRR]RZttempfileRRRtshutilRtnumpy.lib._datasourcetlibt _datasourceR2t numpy.testingRRR R R R^turllib.requesttrequestRt urllib.parseR t urllib.errorR turllib2R=RRRRR'R(R)R*RvRKR$R&RR+R,R-R.R/tobjectR0R_RcR|R€R…(((s?/tmp/pip-build-fiC0ax/numpy/numpy/lib/tests/test__datasource.pytsN   (             WA!!