+
    &j
                     <    ^ RI t ^ RIHt ^ RIHt  ! R R]4      tR# )    N)MutableMapping)	lru_cachec                   ^   a  ] tR t^t o RtRR ltR tR tR tR t	R t
R	 tR
 tR tRtV tR# )DirCacheaV  
Caching of directory listings, in a structure like::

    {"path0": [
        {"name": "path0/file0",
         "size": 123,
         "type": "file",
         ...
        },
        {"name": "path0/file1",
        },
        ...
        ],
     "path1": [...]
    }

Parameters to this class control listing expiry or indeed turn
caching off
Nc                   a  / S n         / S n        V'       d"   \        V^,           4      ! V 3R l4      S n        VS n        VS n        VS n        R# )a  

Parameters
----------
use_listings_cache: bool
    If False, this cache never returns items, but always reports KeyError,
    and setting items has no effect
listings_expiry_time: int or float (optional)
    Time in seconds that a listing is considered valid. If None,
    listings do not expire.
max_paths: int (optional)
    The number of most recent listings that are considered valid; 'recent'
    refers to when the entry was set.
c                 <   < SP                   P                  V R 4      # N)_cachepop)keyselfs   &g/Users/jameslopez/projects/CWCArchive/cwc-podcast/.venv/lib/python3.14/site-packages/fsspec/dircache.py<lambda>#DirCache.__init__.<locals>.<lambda>3   s    4;;??3PT;U    N)r
   _timesr   _quse_listings_cachelistings_expiry_time	max_paths)r   r   r   r   kwargss   f&&&,r   __init__DirCache.__init__   sC    * 	A./UVDG"4$8!"r   c                0   V P                   eT   V P                  P                  V^ 4      \        P                  ! 4       ,
          V P                   ) 8  d   V P                  V V P
                  '       d   V P                  V4       V P                  V,          # r	   )r   r   gettimer
   r   r   r   items   &&r   __getitem__DirCache.__getitem__8   sh    $$0{{tQ'$))+59R9R8RRKK%>>>GGDM{{4  r   c                :    V P                   P                  4        R # r	   )r
   clearr   s   &r   r"   DirCache.clear@   s    r   c                ,    \        V P                  4      # r	   )lenr
   r#   s   &r   __len__DirCache.__len__C   s    4;;r   c                <     W,           R #   \          d     R# i ; i)TF)KeyErrorr   s   &&r   __contains__DirCache.__contains__F   s!    	J 		s    c                    V P                   '       g   R # V P                  '       d   V P                  V4       W P                  V&   V P                  e%   \
        P
                  ! 4       V P                  V&   R # R # r	   )r   r   r   r
   r   r   r   )r   r   values   &&&r   __setitem__DirCache.__setitem__M   sV    &&&>>>GGCL C$$0#yy{DKK 1r   c                     V P                   V R # r	   )r
   )r   r   s   &&r   __delitem__DirCache.__delitem__V   s    KKr   c                F   a  \        S P                  4      pV 3R  lV 4       # )c              3   8   <"   T F  qS9   g   K  Vx  K  	  R # 5ir	    ).0kr   s   & r   	<genexpr>$DirCache.__iter__.<locals>.<genexpr>\   s     07a4i7s   
)listr
   )r   entriess   f r   __iter__DirCache.__iter__Y   s    t{{#0700r   c                T    \         V P                  V P                  V P                  33# r	   )r   r   r   r   r#   s   &r   
__reduce__DirCache.__reduce__^   s)    $$d&?&?P
 	
r   )r
   r   r   r   r   r   )TNN)__name__
__module____qualname____firstlineno____doc__r   r   r"   r'   r+   r/   r2   r=   r@   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s<     (#:! +1

 
r   r   )r   collections.abcr   	functoolsr   r   r6   r   r   <module>rL      s     * \
~ \
r   