//usr/lib64/lib64//lib64/lib64/lib64/ó
ŁSec @ sp d Z d d l Z d d l Z d d d g Z d d Z i a d Z d d Z d d Z d 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.
i’’’’Nt getlinet
clearcachet
checkcachec C sE t | | } d | k o, t | k n r= | | d Sd Sd S( Ni t ( t getlinest len( t filenamet linenot module_globalst lines( ( s! /usr/lib64/python2.7/linecache.pyR
s "c C s
i a d S( s Clear the cache entirely.N( t cache( ( ( s! /usr/lib64/python2.7/linecache.pyR s c C s) | t k r t | d St | | 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( R
t updatecache( R R ( ( s! /usr/lib64/python2.7/linecache.pyR ! s c C sŠ | d k r t j } n | t k r3 | g } n d Sx | D] } t | \ } } } } | d k rl q> n y t j | } Wn t j k
r t | =q> n X| | j k s¾ | | j k r> t | =q> q> Wd S( sU Discard cache entries that are out of date.
(This is not checked upon each call!)N( t NoneR
t keyst ost statt errort st_sizet st_mtime( R t filenamest sizet mtimeR t fullnameR ( ( s! /usr/lib64/python2.7/linecache.pyR + s
c C sf | t k r t | =n | s; | j d r? | j d r? g S| } y t j | } Wntt k
rĪ| } | r<d | k r<| j d } | d } t | d d } | r<| r<y | | } Wn t t
f k
rą q9X| d k rń g St | d g | j D] } | d ^ q
| f t |