%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python3.8/__pycache__/
Upload File :
Create Path :
Current File : //usr/local/lib/python3.8/__pycache__/linecache.cpython-38.pyc

U

na@sndZddlZddlZddlZddlZdddgZdddZiaddZddd	Z	dd
dZ
dddZd
dZdS)zCache lines from Python source 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.
Ngetline
clearcache
checkcachecCs:t||}d|kr"t|kr2nn||dSdSdS)N)getlineslen)filenamelinenomodule_globalslinesr
%/usr/local/lib/python3.8/linecache.pyrs
cCsiadS)zClear the cache entirely.N)cacher
r
r
rrscCsX|tkr(t|}t|dkr(t|dSzt||WStk
rRtgYSXdS)zGet the lines for a Python source file from the cache.
    Update the cache if it doesn't contain an entry for this file already.rN)rrupdatecacheMemoryErrorr)r	rentryr
r
rr%src	Cs|dkrtt}n|tkr&|g}ndS|D]}t|}t|dkrHq.|\}}}}|dkr^q.zt|}Wn$tk
rt|dYq.YnX||jks||j	kr.t|dq.dS)zUDiscard cache entries that are out of date.
    (This is not checked upon each call!)Nr)
listrkeysrosstatOSErrorpopst_sizest_mtime)r		filenamesrsizemtimerfullnamerr
r
rr5s&
c
Cs|tkr$tt|dkr$t|d|r<|dr@|dr@gS|}zt|}Wntk
rn|}t||rzt|d}Wnt	tfk
rYnDX|dkrgYSt|ddd|
D|ft|<t|dYStj|rgYSt
jD]d}ztj||}Wnttfk
r0YqYnXzt|}WqjWqtk
r^YqXqgYSYnXz"t|}|}W5QRXWntk
rgYSX|r|d	d
s|d	d
7<|j|j}	}
|	|
||ft|<|S)zUpdate 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.rN<>rcSsg|]}|dqS)
r
).0liner
r
r
<listcomp>qszupdatecache.<locals>.<listcomp>rr")rrr
startswithendswithrrr	lazycacheImportError
splitlinespathisabssysjoin	TypeErrorAttributeErrortokenizeopen	readlinesrr)r	rrrbasenamedatadirnamefprrrr
r
rrRs\




rcCs|tkr tt|dkrdSdS|r8|dr<|dr<dS|rd|kr|d}|d}t|dd	}|r|rt||}|ft|<dSdS)
aSeed the cache for filename with module_globals.

    The module loader will be asked for the source only when getlines is
    called, not immediately.

    If there is an entry in the cache already, it is not altered.

    :return: True if a lazy load is registered in the cache,
        otherwise False. To register such a load a module loader with a
        get_source method must be found, the filename must be a cachable
        filename, and the filename must not be already cached.
    rTFr r!
__loader____name__
get_sourceN)rrr'r(getgetattr	functoolspartial)r	rnameloaderr;	get_linesr
r
rr)s


r))N)N)N)N)
__doc__r>r.rr2__all__rrrrrrr)r
r
r
r<module>s




A

Zerion Mini Shell 1.0