Hacked By AnonymousFox
B
� f� � @ sn d Z ddlZddlZddlZddlZdddgZddd�Zi add� Zddd �Z dd
d�Z
ddd�Zd
d� ZdS )z�Cache 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.
� N�getline�
clearcache�
checkcachec C s: t | |�}d| kr"t|�kr2n n||d S dS d S )N� � )�getlines�len)�filename�lineno�module_globals�lines� r
�./opt/alt/python37/lib64/python3.7/linecache.pyr s
c C s i a dS )zClear the cache entirely.N)�cacher
r
r
r r s c C sR | t kr(t | }t|�dkr(t | d S y
t| |�S tk
rL t� g S X dS )z�Get the lines for a Python source file from the cache.
Update the cache if it doesn't contain an entry for this file already.r � N)r r �updatecache�MemoryErrorr )r r �entryr
r
r r % s
r c C s� | dkrt t�� �}n| tkr&| g}ndS x�|D ]�} t| }t|�dkrJq0|\}}}}|dkr`q0yt�|�}W n" tk
r� t�| d� w0Y nX ||jks�||j kr0t�| d� q0W dS )zUDiscard cache entries that are out of date.
(This is not checked upon each call!)Nr )
�listr �keysr �os�stat�OSError�pop�st_size�st_mtime)r � filenamesr �size�mtimer �fullnamer r
r
r r 5 s&