Edit file File name : linecache.cpython-38.pyc Content :U �;rc� � @ 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 �/usr/lib/python3.8/linecache.pyr s c C s i a dS )zClear the cache entirely.N)�cacher r r r r s c C sX | t kr(t | }t|�dkr(t | d S zt| |�W S tk rR t� g Y 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 |D ]�} t| }t|�dkrHq.|\}}}}|dkr^q.zt�|�}W n$ tk r� t�| d� Y q.Y nX ||jks�||j kr.t�| d� q.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&