‡Æ
ÐMö9c       sF     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 X y  t i |  ƒ d } Wn   t i j
 o  g  Sn X | | j oM  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    sq   ! " # xa t  t | ƒ ƒ d # rH } $ 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
   		