‡Æ
ÐMö9c       s1   d  Z  d k Z h  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.Nc    sÛ   y t  |  \ } } t  |  =Wn& t j
 o d g  f \ } } n Xy t i |  ƒ d } Wn t i j
 o g  Sn X| | j o> y t i	 |  ƒ } Wn t i j
 o g  Sn X| i
 ƒ  n | | f t  |  <| Sd S(   s%   List directory contents, using cache.i   i   N(   s   caches   paths   cached_mtimes   lists   KeyErrors   oss   stats   mtimes   errors   listdirs   sort(   s   paths   cached_mtimes   lists   mtimes%   /mit/python/lib/python2.0/dircache.pys   listdir s$     		c    s_   xX t  t | ƒ ƒ d rB } t i i t i i |  | | ƒ ƒ o | | d | | <n q Wd S(   s    Add '/' suffixes to directories.i    s   /N(	   s   ranges   lens   lists   is   oss   paths   isdirs   joins   head(   s   heads   lists   is%   /mit/python/lib/python2.0/dircache.pys   annotate! s
      &(   s   __doc__s   oss   caches   listdirs   opendirs   annotate(    s%   /mit/python/lib/python2.0/dircache.pys   ? s
   		