
    7Thk	                     :    S SK r S SKJr  S SKJr   " S S\5      rg)    N)AbstractFileSystem)tokenizec                   >    \ rS rSrSrS r\rS rS rS r	S
S jr
Srg	)AbstractArchiveFileSystem   a  
A generic superclass for implementing Archive-based filesystems.

Currently, it is shared amongst
:class:`~fsspec.implementations.zip.ZipFileSystem`,
:class:`~fsspec.implementations.libarchive.LibArchiveFileSystem` and
:class:`~fsspec.implementations.tar.TarFileSystem`.
c                 L    S[        U 5      R                   S[        U 5       S3$ )Nz<Archive-like object z at >)type__name__id)selfs    F/var/www/auris/envauris/lib/python3.13/site-packages/fsspec/archive.py__str__!AbstractArchiveFileSystem.__str__   s&    &tDz':':&;44zKK    c                 B    [        XR                  U R                  5      $ N)r   foprotocol)r   paths     r   ukeyAbstractArchiveFileSystem.ukey   s    ggt}}55r   c                     [        U5      S:X  a
  [        5       $ U Vs1 s H  o R                  U5      iM     snU R                  1-
  nX0R	                  U5      -  $ s  snf )zReturns *all* directory names for each path in paths, including intermediate
ones.

Parameters
----------
paths: Iterable of path strings
r   )lenset_parentroot_marker_all_dirnames)r   pathsr   dirnamess       r   r   'AbstractArchiveFileSystem._all_dirnames   sX     u:?5L38954LL&59T=M=M<NN,,X666 :s   Ac                    U R                  5         U R                  U5      nUS;   a  U R                  (       a  SSSS.$ XR                  ;   a  U R                  U   $ US-   U R                  ;   a  U R                  US-      $ [        U5      e)N>    /r#   	directoryr   )namer
   sizer$   )	_get_dirs_strip_protocol	dir_cacheFileNotFoundError)r   r   kwargss      r   infoAbstractArchiveFileSystem.info'   s~    ##D)9Q??>>!>>$''CZ4>>)>>$*--#D))r   c                    U R                  5         0 nU R                  R                  5        H  u  pVUR                  S5      nSU;   a  UR	                  SS5      S   nOSnXqR                  S5      :X  a  XdU'   MN  [        S [        UR                  S5      S/UR                  S5      R                  S5      -   5       5       5      (       d  M  UR                  S5      R                  SS5      S   nX;  d  M  USSS.n	XU'   M     U(       a.  [        UR                  5       [        R                  " S5      S	9n	U	$ [        U5      $ )
Nr$      r   r#   c              3   .   #    U  H  u  pX:H  v   M     g 7fr    ).0abs      r   	<genexpr>/AbstractArchiveFileSystem.ls.<locals>.<genexpr>>   s      PDA Ps   r%   )r&   r'   r
   r&   )key)r(   r*   itemsrstriprsplitallzipsplitstripsortedvaluesoperator
itemgetter)
r   r   detailr,   r   pfrootppathouts
             r   lsAbstractArchiveFileSystem.ls3   s   NN((*DAAaxxxQ'*{{3''a 

3"8J8J38O1OP  
 ++C3A6%#(![IC#&%L! +" X-@-@-HICJ%= r   r2   N)T)r   
__module____qualname____firstlineno____doc__r   __repr__r   r   r-   rJ   __static_attributes__r2   r   r   r   r      s(    L H67
*!r   r   )rB   fsspecr   fsspec.utilsr   r   r2   r   r   <module>rT      s     % !D! 2 D!r   