ó
    ã fiê  ã            	       óˆ  • S SK r S SKrS SKrS SKJr  S SKJr  \ R                  " 5       S 5       r\R                  SS9\ R                  " SSS\S9S	 5       5       r\R                  S
S9\ R                  " SSS\S9\ R                  " SSSS9\ R                  " SSS9\ R                  " SSS9S 5       5       5       5       5       rg)é    N)Úget_api_keyc                  ó   • g)zBulk data access to ShodanN© r   ó    ÚT/home/gothic/public_html/Scylla/venv/lib/python3.13/site-packages/shodan/cli/data.pyÚdatar   	   s   € ð 	r   Úlist)Únamez	--datasetz,See the available files in the given dataset)ÚhelpÚdefaultÚtypec                 ó¬  • [        5       n[        R                  " U5      nU (       Ga'  UR                  R	                  U 5      nU GH  n[
        R                  " [
        R                  " SR                  US   5      SS9SS9  [
        R                  " [
        R                  " SR                  [        R                  " US   5      5      S	S9SS9  UR                  S
5      (       a:  [
        R                  " [
        R                  " SR                  US
   5      SS9SS9  [
        R                  " SR                  US   5      5        GM     gUR                  R                  5       nU He  n[
        R                  " [
        R                  " SR                  US   5      SS9SS9  [
        R                  " SR                  US   5      5        Mg     g)z;List available datasets or the files within those datasets.z{:20s}r
   Úcyan)ÚfgF)Únlz{:10s}ÚsizeÚyellowÚsha1z{:42s}Úgreenz{}Úurlz{:15s}ÚdescriptionN)r   ÚshodanÚShodanr   Ú
list_filesÚclickÚechoÚstyleÚformatÚhelpersÚhumanize_bytesÚgetÚlist_datasets)ÚdatasetÚkeyÚapiÚfilesÚfileÚdatasetsÚdss          r   Ú	data_listr*      sE  € ô
 ‹-€CÜ
�-Š-˜Ó
€Cçà—‘×#Ñ# GÓ,ˆäˆDÜ�JŠJ”u—{’{ 9×#3Ñ#3°D¸±LÓ#AÀfÑMÐRWÒXÜ�JŠJ”u—{’{ 8§?¡?´7×3IÒ3IÈ$ÈvÉ,Ó3WÓ#XÐ]eÑfÐkpÒqð �x‰x˜×ÑÜ—
’
œ5Ÿ;š; x§¡°t¸F±|Ó'DÈÑQÐV[Ò\ä�JŠJ�t—{‘{ 4¨¡;Ó/×0ò ð —8‘8×)Ñ)Ó+ˆãˆBÜ�JŠJ”u—{’{ 8§?¡?°2°f±:Ó#>À6ÑJÈuÒUÜ�JŠJ�t—{‘{ 2 mÑ#4Ó5Ö6ò r   Údownloadz--chunksizezSThe size of the chunks that are downloaded into memory before writing them to disk.é   z
--filenamez-Oz>Save the file as the provided filename instead of the default.)r   r#   z	<dataset>)Úmetavarr
   z<file>c                 ó²  • [        5       n[        R                  " U5      nS n UR                  R	                  U5      nU H  nUS   U:X  d  M  Un  O    U(       d  [        R                  " S5      e[        R                  " US   SS9n
U
R                  R                  SS 5      nU(       d  US   nO[        U5      nSnX¼-  nU(       d  S	R                  X#5      n[        US
5       n[        R                  " U
R!                  US9US9 nU H  nU(       d  M  UR#                  U5        M     S S S 5        S S S 5        [        R$                  " [        R&                  " SR                  U5      S5      5        g ! [        R
                   a%  n	[        R                  " U	R                  5      eS n	A	ff = f! , (       d  f       N�= f! , (       d  f       N–= f)Nr
   zFile not foundr   T)Ústreamzcontent-lengthr   r,   z{}-{}Úwb)Ú
chunk_size)ÚlengthzDownload completed: {}r   )r   r   r   r   r   ÚAPIErrorr   ÚClickExceptionÚvalueÚrequestsr!   ÚheadersÚintr   ÚopenÚprogressbarÚiter_contentÚwriter   r   )Ú	chunksizeÚfilenamer#   r
   r$   r%   r'   r&   ÚtmpÚeÚresponseÚfilesizer1   ÚlimitÚfoutÚbarÚchunks                    r   Údata_downloadrG   -   sŽ  € ô ‹-€CÜ
�-Š-˜Ó
€Cð €Dð,Ø—‘×#Ñ# GÓ,ˆÛˆCØ�6‰{˜dÕ"Ø�Ùò ö Ü×"Ò"Ð#3Ó4Ð4ô �|Š|˜D ™K°Ñ5€Hð ×Ñ×#Ñ#Ð$4°dÓ;€HÞà˜‘<‰ä�x“=ˆà€JØÑ!€Eö Ø—>‘> 'Ó0ˆô 
ˆh˜Ô	 Ü×Ò˜x×4Ñ4À
Ð4ÐKÐTYÒZÐ^aÛ�ß�5Ø—J‘J˜uÖ%ñ ÷ [÷ 
ô 
‡J‚JŒu�{Š{Ð3×:Ñ:¸8ÓDÀgÓNÕOøôA �?‰?ó ,Ü×"Ò" 1§7¡7Ó+Ð+ûð,ú÷6 [ÕZú÷ 
Õ	úsM   ¤'E; ÁE; ÁE; Ã)#GÄF7ÄF7Ä0GÅ;F4Æ F/Æ/F4Æ7
G	ÇGÇ
G)r   r6   r   Úshodan.helpersr   Úshodan.cli.helpersr   Úgroupr   ÚcommandÚoptionÚstrr*   r8   ÚargumentrG   r   r   r   Ú<module>rO      sì   ðÛ Û Û Ý  å *ð ‡‚ƒñ	ó ð	ð
 ‡��6€ÐØ‡‚ˆkÐ NÐX\ÐcfÑgñ7ó hó ð7ð8 ‡��:€ÐØ‡‚ˆmÐ"wð  BFð  MPñ  QØ‡‚ˆl˜DÐ'gÑhØ‡‚�	 ;Ñ/Ø‡‚� Ñ)ñ-Pó *ó 0ó ió Qó ñ
-Pr   