
    7Th                         S SK r S SKrS SKrS SKJr  S SKJr  S SKJr  SSS.r	\ R                  " S5      r " S	 S
\5      rg)    N)AbstractArchiveFileSystem)compr)infer_compressionfile	directory)   0   5tarc                   \   ^  \ rS rSrSrSrSrSr     SU 4S jjrS r	S r
SS	 jrS
rU =r$ )TarFileSystem   znCompressed Tar archives as a file-system (read-only)

Supports the following formats:
tar.gz, tar.bz2, tar.xz
 r
   Fc                 X  > [         T	U ]  " S
0 UD6  U=(       d    0 n[        U[        5      (       a8  [        R
                  " U4SU0UD6U l        U R                  R                  5       nUc  S n [        US5      (       a  UR                  nO`[        US5      (       a  UR                  nOB[        US5      (       a  UR                  nO$[        US5      (       a  UR                  5       S   nUb&  [        U5      n[        R                  SU SU 35        Ub  [         U   " U5      nXl        Xl        [&        R(                  " U R$                  S	9U l        S U l        X l        S U l        U R3                  5         g ! [         a"  n[        R                  SU 35         S nANS nAff = f)Nprotocoloriginalpathnameinfoz:Unable to determine file name, not inferring compression: zInferred compression z from file name )fileobj )super__init__
isinstancestrfsspecopenofhasattrr   r   r   r   	Exceptionloggerwarningr   r   _fo_reffotarfileTarFiler
   	dir_cacheindex_storeindex_index)
selfr#   r'   target_optionstarget_protocolcompressionkwargsr   ex	__class__s
            R/var/www/auris/envauris/lib/python3.13/site-packages/fsspec/implementations/tar.pyr   TarFileSystem.__init__   s~    	"6"'-2b#kk"QQ.QDGB D

 2z**;;D R((77D R((77D R((779V,D /53K=@PQUPVWX" {#B'B??4773&
+  PQSPTU s*   0E= E= ,E= 
$E= =
F)F$$F)c                     0 nU R                    H`  nUR                  5       n[        R                  US   S5      US'   UR                  5       S   R	                  S5      nX2R
                  4X'   Mb     Xl        g )Ntyper   r   /)r
   get_infotypemapgetrstripoffset_datar(   )r*   outtir   r   s        r1   r)   TarFileSystem._index[   sh    ((B;;=D";;tF|V<DL;;=(//4D~~.CI	  
    c                    U R                   b  g U R                  U R                  R                  5       5       Vs0 s H	  nXSSS._M     snU l         U R                  R	                  5        HW  nUR                  5       nUS   R                  S5      US'   [        R                  US   S5      US'   X0R                   US   '   MY     g s  snf )Nr   r   )r   sizer4   r   r5   r4   r   )	r&   _all_dirnamesr
   getnames
getmembersr6   r9   r7   r8   )r*   dirnamememberr   s       r1   	_get_dirsTarFileSystem._get_dirsg   s    >>%
  --dhh.?.?.AB
B q+FFB
 hh))+F??$D<..s3DL";;tF|V<DL+/NN4<(	 ,	
s   Cc                     US:w  a  [        S5      eU R                  U   u  pEUS   S:w  a  [        S5      eU R                  R                  U5      $ )Nrbz#Read-only filesystem implementationr4   r   zCan only handle regular files)
ValueErrorr(   r
   extractfile)r*   r   moder.   detailsoffsets         r1   _openTarFileSystem._openv   sR    4<BCC**T*6?f$<==xx##D))r>   )r"   r&   r#   r(   r'   r   r
   )r   NNNN)rI   )__name__
__module____qualname____firstlineno____doc__root_markerr   cachabler   r)   rF   rO   __static_attributes____classcell__)r0   s   @r1   r   r      sE     KHH @D	0* *r>   r   )loggingr$   r   fsspec.archiver   fsspec.compressionr   fsspec.utilsr   r7   	getLoggerr    r   r   r>   r1   <module>r_      s@       4 $ *{
+			5	!n*- n*r>   