Ë
    çÍ:j  ã                   óL   — d dl Z d dlZd dlZd dlmZ d dlmZ d„ Zd„ Z	d„ Z
d„ Zy)é    N)Údownload)Úbuild_indexc                 ó\   — t        | j                  d«      «      }t        d|«      }|du sJ ‚y)zSTest that download works properly when the parent folder of the download_dir existsÚanother_dirÚmwa_ppdbTN©ÚstrÚjoinpathr   ©Útmp_pathÚdownload_dirÚdownload_statuss      ús/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/nltk/test/unit/test_downloader.pyÚ2test_downloader_using_existing_parent_download_dirr   	   s3   € ô �x×(Ñ(¨Ó7Ó8€LÜ˜z¨<Ó8€OØ˜dÑ"Ð"Ñ"ó    c                 ó^   — t        | j                  dd«      «      }t        d|«      }|du sJ ‚y)z[Test that download works properly when the parent folder of the download_dir does not existznon-existing-parent-folderzanother-non-existing-folderr   TNr   r   s      r   Ú6test_downloader_using_non_existing_parent_download_dirr      s<   € ô Ø×ÑÐ6Ð8UÓVó€Lô ˜z¨<Ó8€OØ˜dÑ"Ð"Ñ"r   c           	      óh  — d}d}t        | j                  d«      «      }t        ||dz   «      D ]õ  }t        j                  j                  d«      5 }t        d|«      }|du sJ ‚||k(  rht        j                  j                  dt        j                  j                  dd	«      z  «      }|j                  d   j                  |j                  k(  sNJ ‚||k(  rGt        j                  j                  d
«      }|j                  d   j                  |j                  k(  sJ ‚ddd«       Œ÷ y# 1 sw Y   �ŒxY w)zOTest that a second download correctly triggers the 'already up-to-date' messager   é   Útest_repeat_downloadzbuiltins.printÚ	stopwordsTz[nltk_data]   Unzipping %s.Úcorporazstopwords.zipz6[nltk_data]   Package stopwords is already up-to-date!N)r	   r
   ÚrangeÚunittestÚmockÚpatchr   ÚcallÚosÚpathÚjoinÚcall_args_listÚargs)r   Úfirst_downloadÚsecond_downloadr   ÚiÚ
print_mockr   Úexpected_second_calls           r   Útest_downloader_redownloadr(      s6  € ð €NØ€Oä�x×(Ñ(Ð)?Ó@ÓA€LÜ�> ?°QÑ#6Ó7ò Vˆä�]‰]× Ñ Ð!1Ó2ð 	V°jÜ& {°LÓAˆOØ" dÑ*Ð*Ð*Ø�NÒ"Ü'/§}¡}×'9Ñ'9Ø1Ü—g‘g—l‘l 9¨oÓ>ñ?ó(Ð$ð "×0Ñ0°Ñ3×8Ñ8Ð<P×<UÑ<UÒUÐUÐUØ�oÒ%Ü'/§}¡}×'9Ñ'9ØLó(Ð$ð "×0Ñ0°Ñ3×8Ñ8Ð<P×<UÑ<UÒUÐUÐU÷	Vð 	VñV÷	Vñ 	Vús   ÁCD'Ä'D1	c                 ój  — t        | j                  d«      «      }d}t        j                  j	                  ||› «      }t        j
                  |d¬«       t        j                  j	                  ||› d�«      }t        |d«      5 }|j                  d|› d�«       d	d	d	«       t        j                  j	                  ||› «      }t        j                  |d
|t        j                  j                  |«      ¬«       t        t        j                  j                  |«      d¬«      }|d   d   }|j                  d«      dk(  sJ ‚|j                  d«      }	t        |	t         «      sJ ‚t        |	«      dkD  sJ ‚|j                  d«      }
t        |
t         «      sJ ‚t        |
«      dkD  sJ ‚y	# 1 sw Y   �ŒxY w)z(Test building index with both checksums.ÚpackagesÚtest_packageT)Úexist_okz.xmlÚwz<package id="zF" name="A Test Package" webpage="http://www.somefake.url/" unzip="1"/>NÚzip)Ú	base_nameÚformatÚroot_dirÚbase_dirzhttps://someurl)ÚrootÚbase_urlr   ÚidÚchecksumé   Úsha256_checksum)r	   r
   r   r   r    ÚmakedirsÚopenÚwriteÚshutilÚmake_archiveÚbasenamer   ÚdirnameÚgetÚ
isinstanceÚlen)r   Útest_pkg_dirÚtest_pkg_nameÚtest_pkg_pathÚtest_xml_pathÚfiÚzip_pathÚ	xml_indexÚpackage_elementÚmd5_checksumr8   s              r   Útest_build_indexrL   4   sŠ  € ô �x×(Ñ(¨Ó4Ó5€LØ"€MÜ—G‘G—L‘L °-°ÓB€MÜ‡K�K�¨Õ-Ü—G‘G—L‘L °=°/ÀÐ0FÓG€MÜ	ˆm˜SÓ	!ð 
 RØ
�‰Ø˜M˜?ð +ð ô	
÷
ô �w‰w�|‰|˜M¨m¨_Ó>€HÜ
×ÑØØØÜ—‘×!Ñ! -Ó0õ	ô Ü�W‰W�_‰_˜\Ó*Ð5Fô€Ið   ‘l 1‘o€OØ×Ñ˜tÓ$¨Ò6Ð6Ð6Ø"×&Ñ& zÓ2€LÜ�l¤CÔ(Ð(Ð(Üˆ|Ó˜qÒ Ð Ð Ø%×)Ñ)Ð*;Ó<€OÜ�o¤sÔ+Ð+Ð+ÜˆÓ !Ò#Ð#Ñ#÷/
ñ 
ús   ÂF(Æ(F2)r   r<   Úunittest.mockr   Únltkr   Únltk.downloaderr   r   r   r(   rL   © r   r   ú<module>rQ      s)   ðÛ 	Û Û å Ý 'ò#ò#òVó2$r   