ok

Mini Shell

Direktori : /proc/self/root/opt/alt/python27/lib64/python2.7/
Upload File :
Current File : //proc/self/root/opt/alt/python27/lib64/python2.7/linecache.pyc

�
	\
bc@spdZddlZddlZdddgZdd�Ziad�Zdd�Zdd	�Z	dd
�Z
dS(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����Ntgetlinet
clearcachet
checkcachecCsEt||�}d|ko,t|�knr=||dSdSdS(Nit(tgetlinestlen(tfilenametlinenotmodule_globalstlines((s./opt/alt/python27/lib64/python2.7/linecache.pyR
s"cCs
iadS(sClear the cache entirely.N(tcache(((s./opt/alt/python27/lib64/python2.7/linecache.pyRscCsI|tkrt|dSyt||�SWntk
rDt�gSXdS(ssGet the lines for a file from the cache.
    Update the cache if it doesn't contain an entry for this file already.iN(R
tupdatecachetMemoryErrorR(RR((s./opt/alt/python27/lib64/python2.7/linecache.pyR!s
cCs�|dkrtj�}n|tkr3|g}ndSx�|D]�}t|\}}}}|dkrlq>nytj|�}Wntjk
r�t|=q>nX||jks�||jkr>t|=q>q>WdS(sUDiscard cache entries that are out of date.
    (This is not checked upon each call!)N(tNoneR
tkeystoststatterrortst_sizetst_mtime(Rt	filenamestsizetmtimeR	tfullnameR((s./opt/alt/python27/lib64/python2.7/linecache.pyR/s 
cCsf|tkrt|=n|s;|jd�r?|jd�r?gS|}ytj|�}Wnttk
r�|}|r<d|kr<|jd�}|d}t|dd	�}|r<|r<y||�}Wnt	t
fk
r�q9X|d	kr�gSt|�d	g|j�D]}	|	d^q
|ft|<t|dSq<ntj
j|�rRgSxztj
D]g}
ytj
j|
|�}Wnttfk
r�q\nXytj|�}PWq\tjk
r�q\Xq\WgSnXy(t|d��}|j�}Wd	QXWnt
k
rgSX|r9|d
jd�r9|d
cd7<n|j|j}
}|
|||ft|<|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.t<t>t
__loader__t__name__t
get_sources
itrUNi����(R
t
startswithtendswithRRtOSErrortgettgetattrR
tImportErrortIOErrorRt
splitlinestpathtisabstsystjoint	TypeErrortAttributeErrorRtopent	readlinesRR(RRRRtbasenametnametloaderRtdatatlinetdirnametfpR	RR((s./opt/alt/python27/lib64/python2.7/linecache.pyRHs\
%

-
(t__doc__R(Rt__all__R
RR
RRRR(((s./opt/alt/python27/lib64/python2.7/linecache.pyt<module>s
	

Zerion Mini Shell 1.0