
    iH                     
   d dl mZmZ d dlZd dlZddlmZmZmZ ddl	m
Z
 ddiZdd	iZed
fedfedfedffZe
eeefZg dZd Zd ZddZedfdZd dZd Zd Zd Zd Zd Zd Zd Z	 d!dZ	 	 d"dZ e ed      rd Z!yeZ!y)#    )print_functionunicode_literalsN   )SYMTIMEfsdecfsenc   )pathchmod_d  i  i  l    i)r
   MKD_755MKD_700UTIME_CLAMPSc                 @    t        j                  t        |       |      S N)oschmodr   pmodes     D/home/ubuntu/myenv/lib/python3.12/site-packages/copyparty/bos/bos.pyr   r          88E!Hd##    c                 B    t        j                  t        |       ||      S r   )r   chownr   )r   uidgids      r   r   r      s    88E!Hc3''r   c                 v    t        j                  t        |             D cg c]  }t        |       c}S c c}w r   )r   listdirr   r   )r   xs     r   r   r      s'     jjq23E!H333s   6Tc                    g }t        |       }|rWt        j                  j                  |      s||v rn3|j	                  |       t        j                  j                  |      }|rW|s|st        j                  |       y|d   }d|v }|d d d   D ]8  }	 t        j                  ||       |rt        j                  ||d   |d          : y#  t        j                  j                  |      rY _ xY w)NFr   r   r   r   T)r   r   r
   isdirappenddirnamemkdirr   )namevfexist_oktodobnamer   r   zbs           r   makedirsr-   !   s    D$KE
77==5D=E&	 
 HHUOi=DrME4R4j 	HHRRY5	2	 		ww}}R s   5C!C21C2c                 @    t        j                  t        |       |      S r   )r   r&   r   r   s     r   r&   r&   <   r   r   c                 F    t        j                  t        |       g|i |S r   )r   openr   )r   akas      r   r0   r0   @   s    7758&a&2&&r   c                 P    t        t        j                  t        |                   S r   )r   r   readlinkr   r   s    r   r4   r4   D   s    U1X&''r   c                 R    t        j                  t        |       t        |            S r   )r   renamer   srcdsts     r   r7   r7   H   s    99U3Zs,,r   c                 R    t        j                  t        |       t        |            S r   )r   replacer   r8   s     r   r<   r<   L   s    ::eCj%*--r   c                 >    t        j                  t        |             S r   )r   rmdirr   r5   s    r   r>   r>   P   s    88E!Hr   c                 >    t        j                  t        |             S r   )r   statr   r5   s    r   r@   r@   T   s    7758r   c                 >    t        j                  t        |             S r   )r   unlinkr   r5   s    r   rB   rB   X   s    99U1Xr   c                     t         r!t        j                  t        |       ||      S t        j                  t        |       |      S )Nfollow_symlinks)r   r   utimer   )r   timesrE   s      r   rF   rF   \   s3     xxa%IIxxa%((r   c                    d}|}t        |      }t        j                         }	 	 t        rt        j                  |||f|       nt        j                  |||f       |rd}	 | |	|||fz         |S # t
        $ r|}
|}|t        t              k  r3t        |   \  }} |||      }|dz  }||k7  rn|t        t              k  r3|t        t              k\  r|r d}	 | |	|||
|
fz         Y d }
~
y Y d }
~
nd }
~
ww xY w)Nr   rD   z/filesystem rejected utime(%r); clamped %s to %sr	   z!could not utime(%r) to %s; %s, %r)r   timer   r   rF   	Exceptionlenr   )logr   tsrE   throwclampovbpnowtexpvfuncvs                 r   utime_crX   e   s    E	B	qB
))+C
	 c2YHc2Y'EABO$I 	 B#l++&u-RR[
8 #l++ L));AQBO+, *	  s   AA3 3	C8<AC3&C33C8lstatc                 >    t        j                  t        |             S r   )r   rY   r   r5   s    r   rY   rY      s    xxa!!r   ).)r   )NT)TF)"
__future__r   r   r   rI   utilr   r   r    r
   r   r   maxminr   ___all__r   r   r   r-   r&   r0   r4   r7   r<   r>   r@   rB   rF   rX   hasattrrY    r   r   <module>re      s    7 	  ( ( e
e
k"S!HsJ.?#zARS	7G\*
8$(4 # 6$'(-.
 ,0) # L 2w" Er   