ó
    ëBj  ã                   óæ   • S SK r S SKrS SKrS SKJrJr  S SKJr  S SKJ	r	J
r
JrJrJr  S SKrSSKJrJrJr  \(       a  SSKJrJr  \" S	5       " S
 S\5      5       r\" S5       " S S\5      5       rg)é    N)ÚPathÚPurePosixPath)ÚTemporaryDirectory)ÚAnyÚTupleÚTYPE_CHECKINGÚUnionÚOptionalé   )Ú	CloudPathÚNoStatErrorÚregister_path_classé   )Ú
HttpClientÚHttpsClientÚhttpc            	       óN  ^ • \ rS rSr% SrS\S'   SS.S\\S 4   S\S\S   S	S4U 4S
 jjjr	\
S	\4S j5       rS\S	\4U 4S jjr\
S	\R                   R"                  4S j5       r\
S	\4S j5       r\
S	\4S j5       r\
S	\4S j5       rS'S\S	\4S jjrS'S\S	\4S jjr S(S\S\S\\   S	S4S jjrS)S\S\\   S	S4S jjrS'S\S	\R8                  4S jjrS*S\S\S	\4S jjr\
S	\4S j5       r \
S	\!S   4U 4S  jj5       r"S	\!\#RH                  RJ                  \&4   4S! jr'S	\!\#RH                  RJ                  \&4   4S" jr(S	\!\#RH                  RJ                  \&4   4S# jr)S	\!\#RH                  RJ                  \&4   4S$ jr*S	\!\#RH                  RJ                  \&4   4S% jr+S&r,U =r-$ )+ÚHttpPathé   zhttp://r   ÚclientN)r   Ú
cloud_pathÚpartsÚreturnc                ó  >• [         TU ]  " U/UQ7SU06  U R                  R                  R	                  S5      (       a%  [        U R                  R                  5      U l        g [        SU R                  R                   35      U l        g )Nr   Ú/)ÚsuperÚ__init__Ú_urlÚpathÚ
startswithr   Ú_path)Úselfr   r   r   Ú	__class__s       €ÚW/home/mande/repo/quber/.venv/lib/python3.13/site-packages/cloudpathlib/http/httppath.pyr   ÚHttpPath.__init__   sq   ø€ ô 	‰Ò˜Ð; eÒ;°FÒ;ð �y‰y�~‰~×(Ñ(¨×-Ñ-ô ˜$Ÿ)™)Ÿ.™.Ó)ð 	�
ô   4§9¡9§>¡>Ð"2Ð3Ó4ð 	�
ó    c                 óz   • U R                   R                  U R                  R                  R	                  S5      -  $ )z!Cached local version of the file.r   )r   Ú_local_cache_dirr   r   Úlstrip©r"   s    r$   Ú_localÚHttpPath._local"   s,   € ð �{‰{×+Ñ+¨d¯i©i¯n©n×.CÑ.CÀCÓ.HÑHÐHr&   Úfuncc                 óº   >• [         TU ]  " U/UQ70 UD6nUS:X  a?  [        US   5      R                  S5      (       a  U R	                  [        U5      S-   5      $ U$ )NÚ__truediv__r   r   )r   Ú_dispatch_to_pathÚstrÚendswithÚ_new_cloudpath)r"   r-   ÚargsÚkwargsÚsupr#   s        €r$   r0   ÚHttpPath._dispatch_to_path(   s^   ø€ Ü‰gÒ'¨Ð>¨tÒ>°vÑ>ˆð �=Ó ¤S¨¨a©£\×%:Ñ%:¸3×%?Ñ%?Ø×&Ñ&¤s¨3£x°#¡~Ó6Ð6ð ˆJr&   c                 ó   • U R                   $ ©N)r   r*   s    r$   Ú
parsed_urlÚHttpPath.parsed_url3   s   € à�y‰yÐr&   c                 ó.   • U R                   R                  $ r9   )r   Únetlocr*   s    r$   ÚdriveÚHttpPath.drive7   s   € ð �y‰y×ÑÐr&   c                 ób   • U R                   R                   SU R                   R                   S3$ )Nz://r   )r   Úschemer=   r*   s    r$   ÚanchorÚHttpPath.anchor<   s+   € à—)‘)×"Ñ"Ð# 3 t§y¡y×'7Ñ'7Ð&8¸Ð:Ð:r&   c                 óL   • U R                   [        U R                  5      S-
  S  $ )Nr   )Ú_strÚlenrB   r*   s    r$   Ú_no_prefix_no_driveÚHttpPath._no_prefix_no_drive@   s$   € ð �y‰yœ˜TŸ[™[Ó)¨AÑ-Ð/Ð0Ð0r&   Úfollow_symlinksc                 óv   • U R                  5       (       d  gU R                  R                  [        U 5      5      $ ©NF©Úexistsr   Údir_matcherr1   ©r"   rI   s     r$   Úis_dirÚHttpPath.is_dirE   s+   € Ø�{‰{�}‰}Øð �{‰{×&Ñ&¤s¨4£yÓ1Ð1r&   c                 ó€   • U R                  5       (       d  gU R                  R                  [        U 5      5      (       + $ rK   rL   rO   s     r$   Úis_fileÚHttpPath.is_fileL   s,   € Ø�{‰{�}‰}Øà—;‘;×*Ñ*¬3¨t«9Ó5Ô5Ð5r&   ÚparentsÚexist_okÚmodec                 ó   • g r9   © )r"   rU   rV   rW   s       r$   ÚmkdirÚHttpPath.mkdirR   s   € ð 	r&   c                 ó:  • U R                  5       (       a   U(       d  [        SU  35      e[        S5      e[        [	        5       R
                  5      S-  nUR                  R                  SSS9  UR                  S5        U R                  R                  X05        g )NzFile already exists: z€Touch not implemented for existing HTTP files since we can't update the modified time; use `put()` or write to the file instead.zempty_file.txtT)rU   rV   Ú )rM   ÚFileExistsErrorÚNotImplementedErrorr   r   ÚnameÚparentrZ   Ú
write_textr   Ú_upload_file)r"   rV   rW   Ú
empty_files       r$   ÚtouchÚHttpPath.touchW   sŠ   € Ø�;‰;�=‰=ÞÜ%Ð(=¸d¸VÐ&DÓEÐEä%ð<óð ô
 Ô0Ó2×7Ñ7Ó8Ð;KÑKˆJØ×Ñ×#Ñ#¨D¸4Ð#Ñ@Ø×!Ñ! "Ô%Ø�K‰K×$Ñ$ ZÕ6r&   c                 óJ  •  U R                   R                  U 5      n[        R                  " S S U R
                  S S S UR                  SS5      S UR                  S[        R                  R                  S5      5      R                  5       S 4
5      $ !   [        SU  35      e= f)NzCould not get metadata for Úsizer   Úlast_modified)
r   Ú_get_metadatar   ÚosÚstat_resultÚcloud_prefixÚgetÚdatetimeÚfromtimestampÚ	timestamp)r"   rI   Úmetas      r$   ÚstatÚHttpPath.statf   s¤   € ð	DØ—;‘;×,Ñ,¨TÓ2ˆDô �~Š~àØØ×!Ñ!ØØØØ—‘˜ Ó#ØØ—‘Ø#¤X×%6Ñ%6×%DÑ%DÀQÓ%Góç‘)“+Øðó
ð 	
øð	DÜÐ ;¸D¸6ÐBÓCÐCús   ‚B ÂB"ÚpresignÚexpire_secondsc                 óZ   • U(       a  [        S5      eU R                  R                  5       $ )Nz'Presigning not supported for HTTP paths)r_   r   Úgeturl)r"   ru   rv   s      r$   Úas_urlÚHttpPath.as_url}   s(   € ÞÜ%Ð&OÓPÐPð �I‰I×ÑÓð	
r&   c                 ó.   • U R                   R                  $ r9   )r!   r`   r*   s    r$   r`   ÚHttpPath.name…   s   € à�z‰z�‰Ðr&   )r   .c                 ó>   >• [         TU ]  U R                  S5      4-   $ )Nr]   )r   rU   r3   )r"   r#   s    €r$   rU   ÚHttpPath.parents‰   s    ø€ ä‰w‰ $×"5Ñ"5°bÓ"9Ð!;Ñ;Ð;r&   c                 ó>   • U R                   R                  " U S40 UD6$ )z1Issue a get request with `urllib.request.Request`ÚGET©r   Úrequest©r"   r5   s     r$   rn   ÚHttpPath.get�   ó   € à�{‰{×"Ò" 4¨Ñ9°&Ñ9Ð9r&   c                 ó>   • U R                   R                  " U S40 UD6$ )z1Issue a put request with `urllib.request.Request`ÚPUTr�   rƒ   s     r$   ÚputÚHttpPath.put‘   r…   r&   c                 ó>   • U R                   R                  " U S40 UD6$ )z2Issue a post request with `urllib.request.Request`ÚPOSTr�   rƒ   s     r$   ÚpostÚHttpPath.post•   ó   € à�{‰{×"Ò" 4¨Ñ:°6Ñ:Ð:r&   c                 ó>   • U R                   R                  " U S40 UD6$ )z4Issue a delete request with `urllib.request.Request`ÚDELETEr�   rƒ   s     r$   ÚdeleteÚHttpPath.delete™   s   € à�{‰{×"Ò" 4¨Ñ<°VÑ<Ð<r&   c                 ó>   • U R                   R                  " U S40 UD6$ )z2Issue a head request with `urllib.request.Request`ÚHEADr�   rƒ   s     r$   ÚheadÚHttpPath.head�   rŽ   r&   )r!   )T)FFN)TN)Fi  ).Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rm   Ú__annotations__r	   r1   r
   r   Úpropertyr   r+   r   r0   ÚurllibÚparseÚParseResultr:   r>   rB   rG   ÚboolrP   rS   rZ   re   rk   rl   rs   Úintry   r`   r   rU   r   r   ÚHTTPResponseÚbytesrn   rˆ   rŒ   r‘   r•   Ú__static_attributes__Ú__classcell__)r#   s   @r$   r   r      s}  ø‡ à€LØÓð *.ò	
à˜#˜z˜/Ñ*ð
ð ð
ð ˜Ñ&ð	
ð
 
÷
ð 
ð ðI˜ó Ió ðIð
	 cð 	¸s÷ 	ð ð˜FŸL™L×4Ñ4ó ó ðð ð �só  ó ð ð ð;˜ó ;ó ð;ð ð1 Só 1ó ð1ñ2 dð 2°dõ 2ñ6 tð 6°tõ 6ð TXñØðØ/3ðØCKÈCÁ=ðà	õñ
7˜dð 7°¸#±ð 7È$õ 7ñ
 Dð 
°B·N±Nõ 
ñ.
˜dð 
¸Cð 
Ècõ 
ð ð�có ó ðð ð<˜˜Ñ/ö <ó ð<ð:˜u T§[¡[×%=Ñ%=¸uÐ%DÑEô :ð:˜u T§[¡[×%=Ñ%=¸uÐ%DÑEô :ð;  d§k¡k×&>Ñ&>ÀÐ&EÑ Fô ;ð= %¨¯©×(@Ñ(@À%Ð(GÑ"Hô =ð;  d§k¡k×&>Ñ&>ÀÐ&EÑ F÷ ;ò ;r&   r   Úhttpsc                   ó.   • \ rS rSr% Sr\\S'   S\S'   Srg)Ú	HttpsPathé¢   zhttps://rm   r   r   rY   N)r—   r˜   r™   rš   rm   r1   r›   r¤   rY   r&   r$   r¨   r¨   ¢   s   ‡ à"€L�#Ó"ØÖr&   r¨   )ro   r   rk   Úpathlibr   r   Útempfiler   Útypingr   r   r   r	   r
   r�   Ú	cloudpathr   r   r   Ú
httpclientr   r   r   r¨   rY   r&   r$   Ú<module>r¯      sm   ðÛ Û Û 	ß 'Ý 'ß =Õ =Û ç CÑ Cæß3ñ �VÓôO;ˆyó O;ó ðO;ñd �WÓô�ó ó ñr&   