
    דi                         S SK r S SKrS SKrS SKrSSKJrJr  SSKJr  \ R                  " \
5      rS rS r S
S jr " S S	\5      rg)    N   )	streamingutils)AbstractBaseFormatc                 v   ^ ^ S[         R                  R                  -   mUU 4S jn[        [	        XS95      nU$ )z*Sort by filesize, to optimize compression?infoc                   > [         R                  " [         R                  R                  TU 5      5      R                  =(       d    Sn[        U R                  T5      (       + 5      nU(       a  [         R                  R                  U 5      u  p4[        R                  " SSU5      nU(       d1  S[        [         R                  R                  U 5      5      S-  -   nX!4$ S[        [        U5      5      S-  -   nX!4$ )Ni z(\.dylib|\.so).*$z.sor   i )oslstatpathjoinst_sizeint
startswithsplitextresubhashdirnameabs)ffsize
info_order_ext
info_slashprefixs        >lib/python3.13/site-packages/conda_package_handling/tarball.pyorder_sort_file_order.<locals>.order   s    fa0199CVQ\\*556
WW%%a(FA&&-vs;Cbggooa&8!9U!CC
    T#Y5!99
      )key)r
   r   seplistsorted)r   filesr   
files_listr   s   `   @r   _sort_file_orderr(      s1    "''++%J!  fU./Jr!   c                     [         R                  " U S5       nU H!  nUR                  U[        R                  S9  M#     S S S 5        g ! , (       d  f       g = f)Nzw:bz2)filter)tarfileopenaddr   anonymize_tarinfo)fullpathr&   tr   s       r   _create_no_libarchiver1   %   s>    	h	(AAEE!E33E4  
)	(	(s   (A		
Ac                     [         R                  R                  X#5      n[        X5      nXt-   n[        R
                  " U 5         [        X5        S S S 5        U$ ! , (       d  f       U$ = fN)r
   r   r   r(   r   	tmp_chdirr1   )	r   r&   tmpdirbasenamer   compression_filterfilter_optstmp_pathr/   s	            r   create_compressed_tarballr:   +   sU     ww||F-HV+E
 ~H		 h. 
!O 
!	 Os   A
A*c                   l    \ rS rSr\S 5       r\S 5       r\S	S j5       r\S 5       r\S
S j5       r	Sr
g)CondaTarBZ2:   c                 $    U R                  S5      $ )N.tar.bz2)endswith)fns    r   	supportedCondaTarBZ2.supported;   s    {{:&&r!   c                    [         R                  R                  U5      (       d  [         R                  " U5        [         R                  R	                  U 5      (       dP  [         R                  R                  [         R                  R                  [         R                  " 5       U 5      5      n [        R                  " [        U 5      [        U5      S/S9  g )Npkg)
components)r
   r   isdirmakedirsisabsnormpathr   getcwdr   _extractstr)rA   dest_dirkws      r   extractCondaTarBZ2.extract?   sy    ww}}X&&KK!ww}}R  !!"'',,ryy{B"?@B3r7CMugFr!   Nc           	      6   Uc  [         R                  " 5       n[         R                  R                  U5      (       a  [         R                  R	                  U5      n[        U UU[         R                  R                  U5      R                  SS5      SS5      nU$ )Nr?    bzip2)r
   rK   r   rI   r   r:   r6   replace)r   	file_listout_fn
out_folderrO   out_files         r   createCondaTarBZ2.createH   sw    J77==  0J,GGV$,,Z<
 r!   c                     [         R                  " U 5      nUR                  n[        R                  " U S5      u  p4X#US.$ )N)md5sha256)sizer]   r^   )r
   statr   r   	checksums)in_filestat_resultr_   r]   r^   s        r   get_pkg_detailsCondaTarBZ2.get_pkg_detailsX   s9    ggg&""oog/@AF;;r!   c                     SU ;   a  [        S5      e[        R                  R                  U 5      (       d  [        R                  R	                  U 5      n [
        R                  " [        U 5      S/US9  g )Nz://z2Remote .tar.bz2 artifact listing is not supported.rE   )rF   verbose)
ValueErrorr
   r   rI   abspathr   _listrM   )rA   rg   rO   s      r   list_contentsCondaTarBZ2.list_contents_   sP    B;QRRww}}R  $BBUGWEr!    r3   )F)__name__
__module____qualname____firstlineno__staticmethodrB   rP   rZ   rd   rk   __static_attributes__rm   r!   r   r<   r<   :   sh    ' ' G G   < < F Fr!   r<   )rS   )loggingr
   r   r+   rS   r   r   	interfacer   	getLoggerrn   LOGr(   r1   r:   r<   rm   r!   r   <module>rx      sL     	 	   )!25 KM+F$ +Fr!   