-í
çĥ<c       s     d  Z    d k Z 	 d k Z 
 d k T d d d g Z  d   Z  h  a  d   Z " d   Z , d	   Z	 ; d
   Z
 d S(   sµ   Cache lines from files.

This is intended to read lines from modules imported -- hence if a filename
is not found, it will look down the module search path for a file by
that name.
N(   s   *s   getlines
   clearcaches
   checkcachec    sW     t  |   }  d | j o t |  j n o  | | d Sn  d Sd  S(   Ni   s    (   s   getliness   filenames   liness   linenos   len(   s   filenames   linenos   lines(    (    s   /usr/lib/python2.2/linecache.pys   getline s   'c      s       h  a  d S(   s   Clear the cache entirely.N(   s   cache(    (    (    s   /usr/lib/python2.2/linecache.pys
   clearcache s   c    s=   " $ & t  i |   o ' t  |  d Sn ) t |   Sd S(   ss   Get the lines for a file from the cache.
    Update the cache if it doesn't contain an entry for this file already.i   N(   s   caches   has_keys   filenames   updatecache(   s   filename(    (    s   /usr/lib/python2.2/linecache.pys   getlines" s   c     s¸   , . 0 x¨ t  i   D0 ] } 1 t  | \ } } } } 2 y 3 t i |  }  Wn) 4 t i	 j
 o 5 t  | =6 q n X7 | |  t
 j p | |  t j o 8 t  | =n q Wd S(   sU   Discard cache entries that are out of date.
    (This is not checked upon each call!)N(   s   caches   keyss   filenames   sizes   mtimes   liness   fullnames   oss   stats   errors   ST_SIZEs   ST_MTIME(   s   stats   mtimes   fullnames   liness   filenames   size(    (    s   /usr/lib/python2.2/linecache.pys
   checkcache, s    	
%c 
   sċ  ; > @ t  i |   o A t  |  =n B |  p |  d |  d d j o C g  Sn D |  } E y F t i |  } WnÒ G t i j
 oÀ } I t i i	 |   d } J x t i DJ ] } M y N t i i | |  } Wn O t t f j
 o
 Q n> XS y T t i |  } U PWn V t i j
 o
 W n Xq· W[ g  Sn X\ y2 ] t | d  } ^ | i   } _ | i   Wn ` t j
 o } b g  Sn Xc | t | t f \ }	 } d |	 | | | f t  |  <e | Sd S(   s   Update a cache entry and return its list of lines.
    If something's wrong, print a message, discard the cache entry,
    and return an empty list.i    i˙˙˙˙s   <>i   s   rN(   s   caches   has_keys   filenames   fullnames   oss   stats   errors   msgs   paths   splits   basenames   syss   dirnames   joins	   TypeErrors   AttributeErrors   opens   fps	   readliness   liness   closes   IOErrors   ST_SIZEs   ST_MTIMEs   sizes   mtime(
   s   filenames   fps   stats   basenames   liness   mtimes   msgs   fullnames   dirnames   size(    (    s   /usr/lib/python2.2/linecache.pys   updatecache; s>   $	 	(   s   __doc__s   syss   oss   stats   __all__s   getlines   caches
   clearcaches   getliness
   checkcaches   updatecache(   s   syss   updatecaches
   clearcaches   __all__s
   checkcaches   oss   getlines   getlines(    (    s   /usr/lib/python2.2/linecache.pys   ? s   

	
