Ë
    ÑÕ°jEL  ã                   ó@   — d dl Z d dlZd dlmZ  G d„ d«      Zedk(  ryy)é    N)Údebugc                   óh   — e Zd Zdd„Zdd„Zd„ Zdd„Zdd„Zd„ Zdd„Z	d„ Z
dd	„Zdd
„Zd„ Zd„ Zd„ Zy)ÚHTTPc                 ó.   — || _         || _        d | _        y )N)ÚurlÚrequest_timeoutÚres)Úselfr   r   s      úL/var/www/mission/venv/lib/python3.12/site-packages/Naked/toolshed/network.pyÚ__init__zHTTP.__init__   s   € ØˆŒØ.ˆÔð ˆ�ó    c                 ó\  — 	 t        j                  | j                  | j                  |¬«      }|| _        |j
                  S # t         j                  j                  $ r
}Y d }~yd }~wt        $ r<}t        r/t        j                  j                  d| j                  z   dz   «       |‚d }~ww xY w)N©ÚtimeoutÚallow_redirectsFúBNaked Framework Error: Unable to perform GET request with the URL z3 using the get() method (Naked.toolshed.network.py))ÚrequestsÚgetr   r   r	   ÚtextÚ
exceptionsÚConnectionErrorÚ	ExceptionÚ
DEBUG_FLAGÚsysÚstderrÚwrite©r
   Úfollow_redirectsÚresponseÚceÚes        r   r   zHTTP.get   s”   € ð		Ü—|‘| D§H¡H°d×6JÑ6JÐ\lÔmˆHØˆDŒHØ—=‘=Ð øÜ×"Ñ"×2Ñ2ò 	ÜûÜò 	ÝÜ—
‘
× Ñ Ð!eÐhl×hpÑhpÑ!pð  tiñ  "iô  jØˆGûð	ús   ‚>A ÁB+Á#B+Á/7B&Â&B+c                 óZ  — 	 t        j                  | j                  | j                  ¬«      }|| _        |j
                  S # t         j                  j                  $ r
}Y d }~yd }~wt        $ r<}t        r/t        j                  j                  d| j                  z   dz   «       |‚d }~ww xY w)N©r   Fr   z8 using the get_data() method (Naked.toolshed.network.py))r   r   r   r   r	   Úcontentr   r   r   r   r   r   r   ©r
   r   r    r!   s       r   Úget_binzHTTP.get_bin0   s“   € ð		Ü—|‘| D§H¡H°d×6JÑ6JÔKˆHØˆDŒHØ×#Ñ#Ð#øÜ×"Ñ"×2Ñ2ò 	ÜûÜò 	ÝÜ—
‘
× Ñ Ð!eÐhl×hpÑhpÑ!pð  tnñ  "nô  oØˆGûð	ús   ‚=A  Á B*Á"B*Á.7B%Â%B*c                 óÀ  — 	 dd l }|sddlm}  ||«      r|st        d«       y|dk(  r6t	        | j
                  «      dkD  r| j
                  j                  d«      d   }|sMt        j                  j                  d	| j
                  z   d
z   «       t        j                  j                  «        t        j                  | j
                  | j                  d¬«      }|| _        t        |d«      5 }|j!                  d¬«      D ]B  }|j                  |«       |j                  «        |j#                  |j%                  «       «       ŒD 	 d d d «       |st        d«       t        d«       y# 1 sw Y   Œ"xY w# t        j&                  j(                  $ r
}	Y d }	~	yd }	~	wt*        $ r<}
t,        r/t        j.                  j                  d| j
                  z   dz   «       |
‚d }
~
ww xY w)Nr   ©Úfile_existsúODownload aborted.  A local file with the requested filename exists on the path.FÚ é   ú/éÿÿÿÿúDownloading file from ú...T©r   ÚstreamÚwbé   ©Ú
chunk_sizeú úDownload complete.úQNaked Framework Error: Unable to perform GET request and write file with the URL zB using the get_bin_write_file() method (Naked.toolshed.network.py))ÚosÚNaked.toolshed.systemr)   ÚprintÚlenr   Úsplitr   Ústdoutr   Úflushr   r   r   r	   ÚopenÚiter_contentÚfsyncÚfilenor   r   r   r   r   ©r
   ÚfilepathÚsuppress_outputÚoverwrite_existingr:   r)   r   ÚfÚchunkr    r!   s              r   Úget_bin_write_filezHTTP.get_bin_write_fileD   sˆ  € ð	Ûá%Ý=Ù˜xÔ(Ù*ÜÐoÔpØ Ø˜B’¤3 t§x¡x£=°1Ò#4ØŸ8™8Ÿ>™>¨#Ó.¨rÑ2�Ù"Ü—
‘
× Ñ Ð!9¸D¿H¹HÑ!DÀuÑ!LÔMÜ—
‘
× Ñ Ô"Ü—|‘| D§H¡H°d×6JÑ6JÐSWÔXˆHØˆDŒHÜ�h Ó%ð )¨Ø%×2Ñ2¸dÐ2ÓCò )�EØ—G‘G˜E”NØ—G‘G”IØ—H‘H˜QŸX™X›ZÕ(ñ)÷)ñ
 #Ü�c”
ÜÐ*Ô+Ø÷)ð )ûô ×"Ñ"×2Ñ2ò 	ÜûÜò 	ÝÜ—
‘
× Ñ Ð!tÐw{×wÑwÑ!ð  CGñ  "Gô  HØˆGûð	úó<   ‚!E3 ¤C	E3 Ã-AE'Å E3 Å'E0Å,E3 Å3GÆGÆ!7GÇGc                 óú  — 	 dd l }|sddlm}  ||«      r|st        d«       y|dk(  r6t	        | j
                  «      dkD  r| j
                  j                  d«      d   }|sMt        j                  j                  d	| j
                  z   d
z   «       t        j                  j                  «        t        j                  | j
                  | j                  d¬«      }|| _        dd l}|j!                  |dd¬«      5 }|j#                  d¬«      D ]S  }	|	j%                  d«      }	|j                  |	«       |j                  «        |j'                  |j)                  «       «       ŒU 	 d d d «       |st        d«       t        d«       y# 1 sw Y   Œ"xY w# t        j*                  j,                  $ r
}
Y d }
~
yd }
~
wt.        $ r<}t0        r/t        j2                  j                  d| j
                  z   dz   «       |‚d }~ww xY w)Nr   r(   r*   Fr+   r,   r-   r.   r/   r0   Tr1   Úwúutf-8©ÚmodeÚencodingr4   r5   r7   r8   r9   zB using the get_data_write_txt() method (Naked.toolshed.network.py))r:   r;   r)   r<   r=   r   r>   r   r?   r   r@   r   r   r   r	   ÚcodecsrA   rB   ÚdecoderC   rD   r   r   r   r   r   ©r
   rF   rG   rH   r:   r)   r   rS   rI   rJ   r    r!   s               r   Úget_txt_write_filezHTTP.get_txt_write_filel   s¡  € ð 	Ûá%Ý=Ù˜xÔ(Ù*ÜÐoÔpØ Ø˜B’¤3 t§x¡x£=°1Ò#4ØŸ8™8Ÿ>™>¨#Ó.¨rÑ2�Ù"Ü—
‘
× Ñ Ð!9¸D¿H¹HÑ!DÀuÑ!LÔMÜ—
‘
× Ñ Ô"Ü—|‘| D§H¡H°d×6JÑ6JÐSWÔXˆHØˆDŒHÛØ—‘˜X¨C¸'�ÓBð )ÀaØ%×2Ñ2¸dÐ2ÓCò )�EØ!ŸL™L¨Ó1�EØ—G‘G˜E”NØ—G‘G”IØ—H‘H˜QŸX™X›ZÕ(ñ	)÷)ñ #Ü�c”
ÜÐ*Ô+Ø÷)ð )ûô ×"Ñ"×2Ñ2ò 	ÜûÜò 	ÝÜ—
‘
× Ñ Ð!tÐw{×wÑwÑ!ð  CGñ  "Gô  HØˆGûð	úó<   ‚!F ¤CF Ã9A)FÅ# F ÆFÆ	F ÆG:Æ2G:Æ>7G5Ç5G:c                 ó:  — 	 t        j                  | j                  | j                  ¬«      }|| _        |j
                  S # t         j                  j                  $ r
}Y d }~yd }~wt        $ r,}t        rt        j                  j                  d«       |‚d }~ww xY w)Nr#   FzkNaked Framework Error: Unable to perform a HEAD request with the head() method (Naked.toolshed.network.py).)r   Úheadr   r   r	   Úheadersr   r   r   r   r   r   r   r%   s       r   rY   z	HTTP.head˜   s}   € ð		Ü—}‘} T§X¡X°t×7KÑ7KÔLˆHØˆDŒHØ×#Ñ#Ð#øÜ×"Ñ"×2Ñ2ò 	ÜûÜò 	ÝÜ—
‘
× Ñ ð  "Oô  PØˆGûð	úó   ‚=A  Á BÁ"BÁ.'BÂBc                 ó<  — 	 t        j                  | j                  | j                  |¬«      }|| _        |j
                  S # t         j                  j                  $ r
}Y d }~yd }~wt        $ r,}t        rt        j                  j                  d«       |‚d }~ww xY w)Nr   FzkNaked Framework Error: Unable to perform a POST request with the post() method (Naked.toolshed.network.py).)r   Úpostr   r   r	   r   r   r   r   r   r   r   Úexitr   s        r   r]   z	HTTP.postª   s|   € ð		Ü—}‘} T§X¡X°t×7KÑ7KÐ]mÔnˆHØˆDŒHØ—=‘=Ð øÜ×"Ñ"×2Ñ2ò 	ÜûÜò 	ÝÜ—
‘
—‘ð  !Nô  OØˆGûð	ús   ‚>A ÁBÁ#BÁ/'BÂBc                 ó:  — 	 t        j                  | j                  | j                  ¬«      }|| _        |j
                  S # t         j                  j                  $ r
}Y d }~yd }~wt        $ r,}t        rt        j                  j                  d«       |‚d }~ww xY w)Nr#   FzmNaked Framework Error: Unable to perform POST request with the post_bin() method (Naked.toolshed.network.py).)r   r]   r   r   r	   r$   r   r   r   r   r   r   r^   r%   s       r   Úpost_binzHTTP.post_bin»   s{   € ð		Ü—}‘} T§X¡X°t×7KÑ7KÔLˆHØˆDŒHØ×#Ñ#Ð#øÜ×"Ñ"×2Ñ2ò 	ÜûÜò 	ÝÜ—
‘
—‘ð  !Pô  QØˆGûð	úr[   c                 óÀ  — 	 dd l }|sddlm}  ||«      r|st        d«       y|dk(  r6t	        | j
                  «      dkD  r| j
                  j                  d«      d   }|sMt        j                  j                  d	| j
                  z   d
z   «       t        j                  j                  «        t        j                  | j
                  | j                  d¬«      }|| _        t        |d«      5 }|j!                  d¬«      D ]B  }|j                  |«       |j                  «        |j#                  |j%                  «       «       ŒD 	 d d d «       |st        d«       t        d«       y# 1 sw Y   Œ"xY w# t        j&                  j(                  $ r
}	Y d }	~	yd }	~	wt*        $ r<}
t,        r/t        j.                  j                  d| j
                  z   dz   «       |
‚d }
~
ww xY w)Nr   r(   r*   Fr+   r,   r-   r.   r/   r0   Tr1   r3   r4   r5   r7   r8   úRNaked Framework Error: Unable to perform POST request and write file with the URL úC using the post_data_write_bin() method (Naked.toolshed.network.py))r:   r;   r)   r<   r=   r   r>   r   r?   r   r@   r   r]   r   r	   rA   rB   rC   rD   r   r   r   r   r   rE   s              r   Úpost_bin_write_filezHTTP.post_bin_write_fileÍ   s“  € ð	Ûá%Ý=Ù˜xÔ(Ù*ÜÐoÔpØ Ø˜B’¤3 t§x¡x£=°1Ò#4ØŸ8™8Ÿ>™>¨#Ó.¨rÑ2�Ù"Ü—
‘
× Ñ Ð!9¸D¿H¹HÑ!DÀuÑ!LÔMÜ—
‘
× Ñ Ô"Ü—}‘} T§X¡X°t×7KÑ7KÐTXÔYˆHØˆDŒHÜ�h Ó%ð )¨Ø%×2Ñ2¸dÐ2ÓCò )�EØ—G‘G˜E”NØ—G‘G”IØ—H‘H˜QŸX™X›ZÕ(ñ)÷)ñ
 #Ü�c”
ÜÐ*Ô+Ø÷)ð )ûô ×"Ñ"×2Ñ2ò 	ÜûÜò 	ÝÜ—
‘
× Ñ Ð!uÐx|÷  yAñ  yAñ  "Að  DIñ  "Iô  JØˆGûð	úrL   c                 óú  — 	 dd l }|sddlm}  ||«      r|st        d«       y|dk(  r6t	        | j
                  «      dkD  r| j
                  j                  d«      d   }|sMt        j                  j                  d	| j
                  z   d
z   «       t        j                  j                  «        t        j                  | j
                  | j                  d¬«      }|| _        dd l}|j!                  |dd¬«      5 }|j#                  d¬«      D ]S  }	|	j%                  d«      }	|j                  |	«       |j                  «        |j'                  |j)                  «       «       ŒU 	 d d d «       |st        d«       t        d«       y# 1 sw Y   Œ"xY w# t        j*                  j,                  $ r
}
Y d }
~
yd }
~
wt.        $ r<}t0        r/t        j2                  j                  d| j
                  z   dz   «       |‚d }~ww xY w)Nr   r(   r*   Fr+   r,   r-   r.   r/   r0   Tr1   rN   rO   rP   r4   r5   r7   r8   rb   rc   )r:   r;   r)   r<   r=   r   r>   r   r?   r   r@   r   r]   r   r	   rS   rA   rB   rT   rC   rD   r   r   r   r   r   rU   s               r   Úpost_txt_write_filezHTTP.post_txt_write_fileô   s¬  € ð 	Ûá%Ý=Ù˜xÔ(Ù*ÜÐoÔpØ Ø˜B’¤3 t§x¡x£=°1Ò#4ØŸ8™8Ÿ>™>¨#Ó.¨rÑ2�Ù"Ü—
‘
× Ñ Ð!9¸D¿H¹HÑ!DÀuÑ!LÔMÜ—
‘
× Ñ Ô"Ü—}‘} T§X¡X°t×7KÑ7KÐTXÔYˆHØˆDŒHÛØ—‘˜X¨C¸'�ÓBð )ÀaØ%×2Ñ2¸dÐ2ÓCò )�EØ!ŸL™L¨Ó1�EØ—G‘G˜E”NØ—G‘G”IØ—H‘H˜QŸX™X›ZÕ(ñ	)÷)ñ #Ü�c”
ÜÐ*Ô+Ø÷)ð )ûô ×"Ñ"×2Ñ2ò 	ÜûÜò 	ÝÜ—
‘
× Ñ Ð!uÐx|÷  yAñ  yAñ  "Að  DIñ  "Iô  JØˆGûð	úrW   c                 óŒ   — 	 | j                   S # t        $ r,}t        rt        j                  j                  d«       |‚d }~ww xY w)NzƒNaked Framework Error: Unable to return the response from your HTTP request with the response() method (Naked.toolshed.network.py).)r	   r   r   r   r   r   )r
   r!   s     r   r   zHTTP.response  sA   € ð	Ø—8‘8ˆOøÜò 	ÝÜ—
‘
× Ñ ð  "gô  hØˆGûð	ús   ‚ Ž	A—'>¾Ac                 ó†  — 	 | j                  «        | j                  rG| j                  j                  r1| j                  j                  t        j                  j
                  k(  S y# t        j                  j                  $ r
}Y d }~yd }~wt        $ r,}t        rt        j                  j                  d«       |‚d }~ww xY w)NFztNaked Framework Error: Unable to obtain the HTTP status with the get_status_ok() method (Naked.toolshed.network.py).)r   r	   Ústatus_coder   ÚcodesÚokr   r   r   r   r   r   r   ©r
   r    r!   s      r   Úget_status_okzHTTP.get_status_ok,  sŽ   € ð	Ø�H‰HŒJØ�xŠx˜DŸH™H×0Ò0ØŸ™×,Ñ,´·±×0AÑ0AÑAÐBàøÜ×"Ñ"×2Ñ2ò 	ÜûÜò 	ÝÜ—
‘
× Ñ ð  "Xô  YØˆGûð	úó   ‚A"A& Á&C ÂC Â'B;Â;C c                 ó†  — 	 | j                  «        | j                  rG| j                  j                  r1| j                  j                  t        j                  j
                  k(  S y# t        j                  j                  $ r
}Y d }~yd }~wt        $ r,}t        rt        j                  j                  d«       |‚d }~ww xY w)NFzuNaked Framework Error: Unable to obtain the HTTP status with the post_status_ok() method (Naked.toolshed.network.py).)r]   r	   ri   r   rj   rk   r   r   r   r   r   r   r   rl   s      r   Úpost_status_okzHTTP.post_status_ok?  sŽ   € ð	Ø�I‰IŒKØ�xŠx˜DŸH™H×0Ò0ØŸ™×,Ñ,´·±×0AÑ0AÑAÐBàøÜ×"Ñ"×2Ñ2ò 	ÜûÜò 	ÝÜ—
‘
× Ñ ð  "Yô  ZØˆGûð	úrn   N)r+   é
   )T)r+   FF)Ú__name__Ú
__module__Ú__qualname__r   r   r&   rK   rV   rY   r]   r`   rd   rf   r   rm   rp   © r   r   r   r      sG   „ óó"
ò"
ó(óP!òX
ó$
ò"
ó$óN!òTòó&r   r   Ú__main__)r   r   ÚNaked.settingsr   r   r   rr   ru   r   r   ú<module>rx      s/   ðó Û Ý .÷~ñ ~ð@
 ˆzÒØð r   