‡Æ
ÛÞ?:c       sV   d  Z  d k Z d k Z d k Td „  Z h  Z 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   *c    sH   t  |  ƒ } d | j o t | ƒ j n o | | d Sn d Sd  S(   Ni   s    (   s   getliness   filenames   liness   linenos   len(   s   filenames   linenos   liness8   /home/guest/edwardam/cmp2/py2/lib/python2.0/linecache.pys   getline s    $c      s
   h  a  d S(   s   Clear the cache entirely.N(   s   cache(    s8   /home/guest/edwardam/cmp2/py2/lib/python2.0/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   filenames8   /home/guest/edwardam/cmp2/py2/lib/python2.0/linecache.pys   getlines  s     c     s–   x t  i ƒ  d r }  t  |  \ } } } } y t i | ƒ } Wn  t i	 j
 o t  |  =q n X| | t
 j p | | t j o t  |  =n q Wd S(   sU   Discard cache entries that are out of date.
    (This is not checked upon each call!)i    N(   s   caches   keyss   filenames   sizes   mtimes   liness   fullnames   oss   stats   errors   ST_SIZEs   ST_MTIME(   s   filenames   sizes   mtimes   liness   fullnames   stats8   /home/guest/edwardam/cmp2/py2/lib/python2.0/linecache.pys
   checkcache* s      "c 
   sh  t  i |  ƒ o t  |  =n |  p |  d |  d d j o g  Sn |  } y t i | ƒ } WnŠ t i j
 o{ } t i i	 |  ƒ d } xY t i d rH } t i i | | ƒ } y t i | ƒ } PWn t i j
 o n Xq– Wg  Sn Xy) t | d ƒ } | i ƒ  } | i ƒ  Wn t j
 o } g  Sn X| t | t f \ } }	 | |	 | | f t  |  <| 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   <>s   rN(   s   caches   has_keys   filenames   fullnames   oss   stats   errors   msgs   paths   splits   basenames   syss   dirnames   joins   opens   fps	   readliness   liness   closes   IOErrors   ST_SIZEs   ST_MTIMEs   sizes   mtime(
   s   filenames   fullnames   stats   msgs   basenames   dirnames   fps   liness   sizes   mtimes8   /home/guest/edwardam/cmp2/py2/lib/python2.0/linecache.pys   updatecache9 s8     " 			(
   s   __doc__s   syss   oss   stats   getlines   caches
   clearcaches   getliness
   checkcaches   updatecache(    s8   /home/guest/edwardam/cmp2/py2/lib/python2.0/linecache.pys   ? s   			
		
	