mň
­fIc           @   sL   d  Z  d k Z d d d d g Z h  a d   Z d   Z e Z d   Z d S(	   së   Read and cache directory listings.

The listdir() routine returns a sorted list of the files in a directory,
using a cache to avoid reading the directory more often than necessary.
The annotate() routine appends slashes to directories.Nt   listdirt   opendirt   annotatet   resetc           C   s
   h  a  d S(   s   Reset the cache completely.N(   t   cache(    (    (    t%   /mit/python/lib/python2.4/dircache.pyR      s      c         C   s   y t  |  \ } } t  |  =Wn  t j
 o d g  } } n Xt i |   i } | | j o t i	 |   } | i
   n | | f t  |  <| S(   s%   List directory contents, using cache.i˙˙˙˙N(   R   t   patht   cached_mtimet   listt   KeyErrort   ost   statt   st_mtimet   mtimeR    t   sort(   R   R   R   R   (    (    R   R       s     c         C   s]   xV t  t |   D]B } t i i t i i |  | |   o | | d | | <q q Wd S(   s    Add '/' suffixes to directories.t   /N(	   t   ranget   lenR   t   iR
   R   t   isdirt   joint   head(   R   R   R   (    (    R   R   "   s
      &(   t   __doc__R
   t   __all__R   R   R    R   R   (   R   R    R   R   R   R
   (    (    R   t   ?   s   			