ó
    �œ‘hµ*  ã                   ób  • S SK r S SKJr  S SKJr  S SKJrJrJ	r	  S SK
Jr  S SKJr  S SKrS SKJs  Jr  S SKJrJrJr  S%S jrSqS rS	 rS
rSrSrSr/ SQrSr S r!S r"S r#S r$S r%S r&S r'S r( " S S5      r) " S S5      r* " S S5      r+ " S S5      r, " S  S!5      r- " S" S#5      r.S$ r/g)&é    N)Úrmtree)ÚNamedTemporaryFileÚmkdtempÚmkstemp)ÚURLError)Úurlparse)Úassert_Úassert_equalÚassert_raisesc                 óJ   • U [        5       :X  a  [        SS9nU$ [        S5      e)z$Stub to replace urlopen for testing.Úurltmp_)ÚprefixzName or service not known)Úvalid_httpurlr   r   )ÚurlÚdataÚtmpfiles      ÚdC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\numpy/lib/tests/test__datasource.pyÚurlopen_stubr      s'   € à
Œm‹oÓÜ$¨IÑ6ˆØˆäÐ2Ó3Ð3ó    c                  óB   • [         R                  q[        [         l        g ©N)Úurllib_requestÚurlopenÚold_urlopenr   © r   r   Úsetup_moduler      s   € ô !×(Ñ(€KÜ)„NÕr   c                  ó"   • [         [        l        g r   )r   r   r   r   r   r   Úteardown_moduler   "   s
   € Ü(„NÕr   zhttp://www.google.com/z
index.htmlzhttp://fake.abc.web/site/zfake.txt)z/etc/shadowz../../shadowz..\system.datzc:\windows\system.dats   three is the magic numberc                 óN   • [        SSU SS9u  p[        R                  " U5        U$ )Nú.txtÚdstmp_T)Úsuffixr   ÚdirÚtext)r   ÚosÚclose©ÚfiledirÚfdÚpaths      r   Úvalid_textfiler+   4   s$   € ä˜f¨X¸7ÈÑN�H€BÜ‡H‚HˆR„LØ€Kr   c                 óx   • [        SSU S9u  p[        R                  " U5        [        R                  " U5        U$ )Nr    r!   )r"   r   r#   )r   r%   r&   Úremover'   s      r   Úinvalid_textfiler.   ;   s-   € ä˜f¨X¸7ÑC�H€BÜ‡H‚HˆR„LÜ‡I‚Iˆd„OØ€Kr   c                  ó   • [         [        -   $ r   )Ú	http_pathÚ	http_filer   r   r   r   r   C   s   € Ü”yÑ Ð r   c                  ó   • [         [        -   $ r   )Úhttp_fakepathÚhttp_fakefiler   r   r   Úinvalid_httpurlr5   G   s   € Üœ=Ñ(Ð(r   c                  ó   • [         $ r   )r0   r   r   r   Úvalid_baseurlr7   K   ó   € ÜÐr   c                  ó   • [         $ r   )r3   r   r   r   Úinvalid_baseurlr:   O   ó   € ÜÐr   c                  ó   • [         $ r   )r1   r   r   r   Úvalid_httpfiler=   S   r8   r   c                  ó   • [         $ r   )r4   r   r   r   Úinvalid_httpfiler?   W   r;   r   c                   óJ   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)ÚTestDataSourceOpené[   c                 ól   • [        5       U l        [        R                  " U R                  5      U l        g r   ©r   ÚtmpdirÚ
datasourceÚ
DataSourceÚds©Úselfs    r   Úsetup_methodÚTestDataSourceOpen.setup_method\   ó!   € Ü“iˆŒÜ×'Ò'¨¯©Ó4ˆ�r   c                 ó2   • [        U R                  5        U ?g r   ©r   rE   rH   rI   s    r   Úteardown_methodÚ"TestDataSourceOpen.teardown_method`   ó   € Üˆt�{‰{ÔØ‰Gr   c                 ó€   • U R                   R                  [        5       5      n[        U5        UR	                  5         g r   )rH   Úopenr   r	   r&   )rJ   Úfhs     r   Útest_ValidHTTPÚ!TestDataSourceOpen.test_ValidHTTPd   s&   € Ø�W‰W�\‰\œ-›/Ó*ˆÜ�ŒØ
�‰�
r   c                 óö   • [        5       n[        [        U R                  R                  U5         U R                  R	                  U5        g ! [         a!  n[        UR                  S L 5         S nAg S nAff = fr   )r5   r   ÚOSErrorrH   rT   r	   Úerrno)rJ   r   Úes      r   Útest_InvalidHTTPÚ#TestDataSourceOpen.test_InvalidHTTPi   sV   € ÜÓˆÜ”g˜tŸw™wŸ|™|¨SÔ1ð	%Ø�G‰G�L‰L˜ÕøÜó 	%ä�A—G‘G˜t�O×$Ñ$ûð	%ús   ±A Á
A8ÁA3Á3A8c                 ó^   • [        [        U R                  R                  [	        5       5        g r   )r   r   rH   Ú_cacher5   rI   s    r   Útest_InvalidHTTPCacheURLErrorÚ0TestDataSourceOpen.test_InvalidHTTPCacheURLErrorr   s   € Ü”h §¡§¡´Ó0AÕBr   c                 óš   • [        U R                  5      nU R                  R                  U5      n[	        U5        UR                  5         g r   )r+   rE   rH   rT   r	   r&   )rJ   Ú
local_filerU   s      r   Útest_ValidFileÚ!TestDataSourceOpen.test_ValidFileu   s2   € Ü# D§K¡KÓ0ˆ
Ø�W‰W�\‰\˜*Ó%ˆÜ�ŒØ
�‰�
r   c                 óx   • [        U R                  5      n[        [        U R                  R
                  U5        g r   )r.   rE   r   rY   rH   rT   )rJ   Úinvalid_files     r   Útest_InvalidFileÚ#TestDataSourceOpen.test_InvalidFile{   s$   € Ü'¨¯©Ó4ˆÜ”g˜tŸw™wŸ|™|¨\Õ:r   c                 ó°  •  SS K n[        R
                  R                  U R                  S5      nWR                  US5      nUR                  [        5        UR                  5         U R                  R                  U5      nUR                  5       nUR                  5         [        [        U5        g ! [         a    [        R                  " 5          NÎf = f)Nr   zfoobar.txt.gzÚw)ÚgzipÚImportErrorÚpytestÚskipr%   r*   ÚjoinrE   rT   ÚwriteÚ
magic_liner&   rH   Úreadliner
   )rJ   rl   ÚfilepathÚfpÚresults        r   Útest_ValidGzipFileÚ%TestDataSourceOpen.test_ValidGzipFile   s“   € ð	Ûô
 —7‘7—<‘< §¡¨_Ó=ˆØ�Y‰Y�x Ó%ˆØ
�‰”ÔØ
�‰Œ
Ø�W‰W�\‰\˜(Ó#ˆØ—‘“ˆØ
�‰Œ
Ü”Z Õ(øô ó 	ä�KŠKŽMð	úó   ‚B3 Â3CÃCc                 ó°  •  SS K n[        R
                  R                  U R                  S5      nWR                  US5      nUR                  [        5        UR                  5         U R                  R                  U5      nUR                  5       nUR                  5         [        [        U5        g ! [         a    [        R                  " 5          NÎf = f)Nr   zfoobar.txt.bz2rk   )Úbz2rm   rn   ro   r%   r*   rp   rE   ÚBZ2Filerq   rr   r&   rH   rT   rs   r
   )rJ   r{   rt   ru   rv   s        r   Útest_ValidBz2FileÚ$TestDataSourceOpen.test_ValidBz2File�   s”   € ð	Ûô
 —7‘7—<‘< §¡Ð-=Ó>ˆØ�[‰[˜ 3Ó'ˆØ
�‰”ÔØ
�‰Œ
Ø�W‰W�\‰\˜(Ó#ˆØ—‘“ˆØ
�‰Œ
Ü”Z Õ(øô ó 	ä�KŠKŽMð	úry   ©rH   rE   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rK   rP   rV   r\   r`   rd   rh   rw   r}   Ú__static_attributes__r   r   r   rA   rA   [   s0   † ò5òòò
%òCòò;ò)õ )r   rA   c                   ó8   • \ rS rSrS rS rS rS rS rS r	Sr
g	)
ÚTestDataSourceExistsé    c                 ól   • [        5       U l        [        R                  " U R                  5      U l        g r   rD   rI   s    r   rK   Ú!TestDataSourceExists.setup_method¡   rM   r   c                 ó2   • [        U R                  5        U ?g r   rO   rI   s    r   rP   Ú$TestDataSourceExists.teardown_method¥   rR   r   c                 ó\   • [        U R                  R                  [        5       5      5        g r   )r	   rH   Úexistsr   rI   s    r   rV   Ú#TestDataSourceExists.test_ValidHTTP©   s   € Ü�—‘—‘œ}›Ó/Õ0r   c                 ó^   • [        U R                  R                  [        5       5      S5        g ©NF)r
   rH   r�   r5   rI   s    r   r\   Ú%TestDataSourceExists.test_InvalidHTTP¬   s   € Ü�T—W‘W—^‘^¤OÓ$5Ó6¸Õ>r   c                 óþ   • [        U R                  5      n[        U R                  R	                  U5      5        [        5       n[        U5      n[        U R                  R	                  U5      5        [        U5        g r   )r+   rE   r	   rH   r�   r   r   )rJ   r   Úlocaldirs      r   rd   Ú#TestDataSourceExists.test_ValidFile¯   sS   € ä  §¡Ó-ˆÜ�—‘—‘˜wÓ'Ô(ä“9ˆÜ  Ó*ˆÜ�—‘—‘˜wÓ'Ô(ÜˆxÕr   c                 óx   • [        U R                  5      n[        U R                  R	                  U5      S5        g r�   )r.   rE   r
   rH   r�   ©rJ   r   s     r   rh   Ú%TestDataSourceExists.test_InvalidFile¹   s'   € Ü" 4§;¡;Ó/ˆÜ�T—W‘W—^‘^ GÓ,¨eÕ4r   r   N)r€   r�   r‚   rƒ   rK   rP   rV   r\   rd   rh   r„   r   r   r   r†   r†       s    † ò5òò1ò?òõ5r   r†   c                   óD   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)ÚTestDataSourceAbspathé¾   c                 ó¦   • [         R                  R                  [        5       5      U l        [
        R                  " U R                  5      U l        g r   )r%   r*   Úabspathr   rE   rF   rG   rH   rI   s    r   rK   Ú"TestDataSourceAbspath.setup_method¿   s.   € Ü—g‘g—o‘o¤g£iÓ0ˆŒÜ×'Ò'¨¯©Ó4ˆ�r   c                 ó2   • [        U R                  5        U ?g r   rO   rI   s    r   rP   Ú%TestDataSourceAbspath.teardown_methodÃ   rR   r   c                 ó8  • [        [        5       5      u  pp4pV[        R                  R	                  U R
                  UUR                  [        R                  5      R                  S5      5      n[        XpR                  R                  [        5       5      5        g ©NÚ/)r   r   r%   r*   rp   rE   ÚstripÚsepr
   rH   rœ   )rJ   ÚschemeÚnetlocÚupathÚpmsÚqryÚfrgÚ
local_paths           r   rV   Ú$TestDataSourceAbspath.test_ValidHTTPÇ   sb   € Ü/7¼»Ó/HÑ,ˆ˜ CÜ—W‘W—\‘\ $§+¡+¨vØ"'§+¡+¬b¯f©fÓ"5×";Ñ";¸CÓ"@óBˆ
ä�Z§¡§¡´³Ó!AÕBr   c                 ó  • [        U R                  5      n[        R                  R	                  U5      S   n[        XR                  R                  U5      5        [        XR                  R                  U5      5        g ©Néÿÿÿÿ)r+   rE   r%   r*   Úsplitr
   rH   rœ   )rJ   r   Útmpfilenames      r   rd   Ú$TestDataSourceAbspath.test_ValidFileÍ   sQ   € Ü  §¡Ó-ˆÜ—g‘g—m‘m GÓ,¨RÑ0ˆä�WŸg™gŸo™o¨kÓ:Ô;ä�WŸg™gŸo™o¨gÓ6Õ7r   c                 ó<  • [        [        5       5      u  pp4pV[        R                  R	                  U R
                  UUR                  [        R                  5      R                  S5      5      n[        XpR                  R                  [        5       5      :g  5        g r¡   )r   r5   r%   r*   rp   rE   r£   r¤   r	   rH   rœ   r   )rJ   r¥   r¦   r§   r¨   r©   rª   Úinvalidhttps           r   r\   Ú&TestDataSourceAbspath.test_InvalidHTTPÕ   sf   € Ü/7¼Ó8IÓ/JÑ,ˆ˜ CÜ—g‘g—l‘l 4§;¡;°Ø#(§;¡;¬r¯v©vÓ#6×#<Ñ#<¸SÓ#AóCˆä�Ÿw™wŸ™¬}«Ó?Ñ?Õ@r   c                 ó4  • [        U R                  5      n[        U R                  5      n[        R                  R	                  U5      S   n[        XR                  R                  U5      :g  5        [        XR                  R                  U5      :g  5        g r®   )r+   rE   r%   r*   r°   r	   rH   rœ   )rJ   Úinvalidfiler   r±   s       r   rh   Ú&TestDataSourceAbspath.test_InvalidFileÛ   se   € Ü$ T§[¡[Ó1ˆÜ  §¡Ó-ˆÜ—g‘g—m‘m GÓ,¨RÑ0ˆä�Ÿw™wŸ™¨{Ó;Ñ;Ô<ä�Ÿw™wŸ™¨wÓ7Ñ7Õ8r   c                 óÀ  ^ • [        T R                  5      n[        R                  R	                  U5      S   nU 4S jn[        U" [        5       5      R                  T R                  5      5        [        U" [        5       5      R                  T R                  5      5        [        U" U5      R                  T R                  5      5        [        U" U5      R                  T R                  5      5        [         H^  n[        U" [        U-   5      R                  T R                  5      5        [        U" U5      R                  T R                  5      5        M`     g )Nr¯   c                 ót   >• [         R                  R                  TR                  R                  U 5      5      $ r   )r%   r*   rœ   rH   ©ÚxrJ   s    €r   Ú<lambda>Ú7TestDataSourceAbspath.test_sandboxing.<locals>.<lambda>è   s   ø€ œRŸW™WŸ_™_¨T¯W©W¯_©_¸QÓ-?Ô@r   )r+   rE   r%   r*   r°   r	   r   Ú
startswithr5   Úmalicious_filesr0   )rJ   r   r±   Útmp_pathÚfns   `    r   Útest_sandboxingÚ%TestDataSourceAbspath.test_sandboxingä   sç   ø€ Ü  §¡Ó-ˆÜ—g‘g—m‘m GÓ,¨RÑ0ˆä@ˆä‘œ›Ó)×4Ñ4°T·[±[ÓAÔBÜ‘œÓ*Ó+×6Ñ6°t·{±{ÓCÔDÜ‘˜Ó!×,Ñ,¨T¯[©[Ó9Ô:Ü‘˜Ó%×0Ñ0°·±Ó=Ô>ß!ˆBÜ‘HœY¨™^Ó,×7Ñ7¸¿¹ÓDÔEÜ‘H˜R“L×+Ñ+¨D¯K©KÓ8Ö9ò "r   c                 ó  • [         R                  n S[         l        U R                  5         U R                  5         U R	                  5         U R                  5         U R                  5         U[         l        g ! U[         l        f = f©NÚ\)r%   r¤   rV   rd   r\   rh   rÃ   ©rJ   Úorig_os_seps     r   Útest_windows_os_sepÚ)TestDataSourceAbspath.test_windows_os_sepò   sb   € Ü—f‘fˆð	!ØŒBŒFØ×ÑÔ!Ø×ÑÔ!Ø×!Ñ!Ô#Ø×!Ñ!Ô#Ø× Ñ Ô"à ŒB�Fø�[ŒB�Fús   ’AA9 Á9Br   N)r€   r�   r‚   rƒ   rK   rP   rV   rd   r\   rh   rÃ   rÊ   r„   r   r   r   r™   r™   ¾   s,   † ò5òòCò8òAò9ò:õ
!r   r™   c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	ÚTestRepositoryAbspathéÿ   c                 ó¸   • [         R                  R                  [        5       5      U l        [
        R                  " [        5       U R                  5      U l        g r   )	r%   r*   rœ   r   rE   rF   Ú
Repositoryr7   ÚreposrI   s    r   rK   Ú"TestRepositoryAbspath.setup_method   s2   € Ü—g‘g—o‘o¤g£iÓ0ˆŒÜ×*Ò*¬=«?¸D¿K¹KÓHˆ�
r   c                 ó2   • [        U R                  5        U ?g r   ©r   rE   rÑ   rI   s    r   rP   Ú%TestRepositoryAbspath.teardown_method  ó   € Üˆt�{‰{ÔØ‰Jr   c                 óP  • [        [        5       5      u  pp4pV[        R                  R	                  U R
                  R                  UUR                  [        R                  5      R                  S5      5      nU R
                  R                  [        5       5      n[        Xx5        g r¡   )r   r   r%   r*   rp   rÑ   Ú	_destpathr£   r¤   rœ   r=   r
   )	rJ   r¥   r¦   r§   r¨   r©   rª   r«   rt   s	            r   rV   Ú$TestRepositoryAbspath.test_ValidHTTP  sp   € Ü/7¼»Ó/HÑ,ˆ˜ CÜ—W‘W—\‘\ $§*¡*×"6Ñ"6¸Ø"'§+¡+¬b¯f©fÓ"5×";Ñ";¸CÓ"@óBˆ
à—:‘:×%Ñ%¤nÓ&6Ó7ˆÜ�ZÕ*r   c                 óF  ^ • U 4S jn[        U" [        5       5      R                  T R                  5      5        [         H^  n[        U" [
        U-   5      R                  T R                  5      5        [        U" U5      R                  T R                  5      5        M`     g )Nc                 ót   >• [         R                  R                  TR                  R                  U 5      5      $ r   )r%   r*   rœ   rÑ   r»   s    €r   r½   Ú7TestRepositoryAbspath.test_sandboxing.<locals>.<lambda>  s!   ø€ œRŸW™WŸ_™_¨T¯Z©Z×-?Ñ-?ÀÓ-BÔCr   )r	   r=   r¿   rE   rÀ   r0   )rJ   rÁ   rÂ   s   `  r   rÃ   Ú%TestRepositoryAbspath.test_sandboxing  sl   ø€ ÜCˆÜ‘œÓ)Ó*×5Ñ5°d·k±kÓBÔCß!ˆBÜ‘HœY¨™^Ó,×7Ñ7¸¿¹ÓDÔEÜ‘H˜R“L×+Ñ+¨D¯K©KÓ8Ö9ò "r   c                 ó²   • [         R                  n S[         l        U R                  5         U R                  5         U[         l        g ! U[         l        f = frÆ   )r%   r¤   rV   rÃ   rÈ   s     r   rÊ   Ú)TestRepositoryAbspath.test_windows_os_sep  s>   € Ü—f‘fˆð	!ØŒBŒFØ×ÑÔ!Ø× Ñ Ô"à ŒB�Fø�[ŒB�Fús   ’+A	 Á	A©rÑ   rE   N)
r€   r�   r‚   rƒ   rK   rP   rV   rÃ   rÊ   r„   r   r   r   rÍ   rÍ   ÿ   s   † òIòò+ò:õ!r   rÍ   c                   ó8   • \ rS rSrS rS rS rS rS rS r	Sr
g	)
ÚTestRepositoryExistsi   c                 ó~   • [        5       U l        [        R                  " [	        5       U R                  5      U l        g r   )r   rE   rF   rÐ   r7   rÑ   rI   s    r   rK   Ú!TestRepositoryExists.setup_method!  s%   € Ü“iˆŒÜ×*Ò*¬=«?¸D¿K¹KÓHˆ�
r   c                 ó2   • [        U R                  5        U ?g r   rÔ   rI   s    r   rP   Ú$TestRepositoryExists.teardown_method%  rÖ   r   c                 óv   • [        U R                  5      n[        U R                  R	                  U5      5        g r   )r+   rE   r	   rÑ   r�   r–   s     r   rd   Ú#TestRepositoryExists.test_ValidFile)  s'   € ä  §¡Ó-ˆÜ�—
‘
×!Ñ! 'Ó*Õ+r   c                 óx   • [        U R                  5      n[        U R                  R	                  U5      S5        g r�   )r.   rE   r
   rÑ   r�   r–   s     r   rh   Ú%TestRepositoryExists.test_InvalidFile.  s)   € Ü" 4§;¡;Ó/ˆÜ�T—Z‘Z×&Ñ& wÓ/°Õ7r   c                 ó\   • [        U R                  R                  [        5       5      5        g r   )r	   rÑ   r�   r   rI   s    r   Útest_RemoveHTTPFileÚ(TestRepositoryExists.test_RemoveHTTPFile2  s   € Ü�—
‘
×!Ñ!¤-£/Ó2Õ3r   c                 ó*  • [        5       n[        U5      u  p#pEpg[        R                  R	                  U R
                  R                  U5      n[        R                  " US5        [        U5      n	[        U R
                  R                  U	5      5        g )NiÀ  )r   r   r%   r*   rp   rÑ   rØ   Úmkdirr+   r	   r�   )
rJ   Ú	localfiler¥   r¦   r§   r¨   r©   rª   r«   r   s
             r   Útest_CachedHTTPFileÚ(TestRepositoryExists.test_CachedHTTPFile5  si   € Ü!“Oˆ	ô 08¸	Ó/BÑ,ˆ˜ CÜ—W‘W—\‘\ $§*¡*×"6Ñ"6¸Ó?ˆ
Ü
�Š�˜VÔ$Ü  Ó,ˆÜ�—
‘
×!Ñ! 'Ó*Õ+r   rà   N)r€   r�   r‚   rƒ   rK   rP   rd   rh   rì   rñ   r„   r   r   r   râ   râ      s!   † òIòò,ò
8ò4õ	,r   râ   c                   ó&   • \ rS rSrS rS rS rSrg)ÚTestOpenFunciA  c                 ó"   • [        5       U l        g r   )r   rE   rI   s    r   rK   ÚTestOpenFunc.setup_methodB  s   € Ü“iˆ�r   c                 ó.   • [        U R                  5        g r   )r   rE   rI   s    r   rP   ÚTestOpenFunc.teardown_methodE  s   € Üˆt�{‰{Õr   c                 ó  • [        U R                  5      n[        R                  " XR                  S9n[	        U5        UR                  5         [        R                  " U5      n[	        U5        UR                  5         g )N)Údestpath)r+   rE   rF   rT   r	   r&   )rJ   rc   ru   s      r   Útest_DataSourceOpenÚ TestOpenFunc.test_DataSourceOpenH  sP   € Ü# D§K¡KÓ0ˆ
ä�_Š_˜Z·+±+Ñ>ˆÜ�ŒØ
�‰Œ
ä�_Š_˜ZÓ(ˆÜ�ŒØ
�‰�
r   )rE   N)r€   r�   r‚   rƒ   rK   rP   rû   r„   r   r   r   rô   rô   A  s   † ò òõ	r   rô   c                  óR   • [         R                  " 5       n U ?U R                  5         g r   )rF   rG   Ú
_istmpdestÚ__del__)rH   s    r   Útest_del_attr_handlingr   S  s$   € ô 
×	Ò	Ó	 €Bð 	ˆð ‡J�J…Lr   r   )0r%   Úurllib.requestÚrequestr   Úshutilr   Útempfiler   r   r   Úurllib.errorr   Úurllib.parser   rn   Únumpy.lib._datasourceÚlibÚ_datasourcerF   Únumpy.testingr	   r
   r   r   r   r   r   r0   r1   r3   r4   rÀ   rr   r+   r.   r   r5   r7   r:   r=   r?   rA   r†   r™   rÍ   râ   rô   r   r   r   r   Ú<module>r     sÓ   ðÛ 	Ý 'Ý ß 9Ñ 9Ý !Ý !ã ç *Ð *ß >Ñ >ô4ð €ò*ò)ð
 %€	Ø€	à+€Ø€ò@€ð *€
òòò!ò)òòòò÷B)ñ B)÷J5ñ 5÷<>!ñ >!÷B!ñ !÷B,ñ ,÷Bñ ó$r   