Plan 9 from Bell Labs’s /usr/web/sources/contrib/stallion/root/sys/lib/python2.7/linecache.pyc

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


�`^c@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/sys/lib/python2.7/linecache.pyR
s"cCs
iadS(sClear the cache entirely.N(tcache(((s/sys/lib/python2.7/linecache.pyRscCs)|tkrt|dSt||�SdS(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
tupdatecache(RR((s/sys/lib/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/sys/lib/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�St|�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/sys/lib/python2.7/linecache.pyRDs\
%

-
(t__doc__R'Rt__all__RRR
RRRR(((s/sys/lib/python2.7/linecache.pyt<module>s
	


Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.