%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3.12/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3.12/__pycache__/linecache.cpython-312.pyc

�

���f��`�dZddlZddlZddlZddlZgd�ZiZd�Zd
d�Zd
d�Z	d
d�Z
d
d�Zd	�Zy)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�
checkcache�	lazycachec�,�tj�y)zClear the cache entirely.N)�cache�clear��� /usr/lib/python3.12/linecache.pyrrs��	�K�K�Mrc�Z�t||�}d|cxkrt|�krny||dz
Sy)z~Get a line for a Python source file from the cache.
    Update the cache if it doesn't contain an entry for this file already.��)�getlines�len)�filename�lineno�module_globals�liness    rrrs8��
�X�~�.�E��F� �c�%�j� �
��V�a�Z� � �
rc��|tvr#t|}t|�dk7rt|dS	t||�S#t$rt	�gcYSwxYw)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�)rr�updatecache�MemoryErrorr)rr�entrys   rrr$sZ���5���h����u�:��?���?�1�%�%���8�^�4�4�������	��s�9�A�Ac��|�ttj��}n
|tvr|g}ny|D]o}t|}t|�dk(r�|\}}}}|��%	t	j
|�}||jk7s||jk7s�Ztj|d��qy#t$rtj|d�Y��wxYw)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�fullnamers        rrr4s����������&�	�	�U�	��J�	���&���h����u�:��?��',�$��e�U�H��=��	��7�7�8�$�D��4�<�<��5�D�M�M�#9��I�I�h��%�&���	��I�I�h��%��	�s�B#�#C�Cc��|tvr+tt|�dk7rtj|d�|r"|jd�r|j	d�rgS|}	tj|�}	t#j$|�5}|j'�}	ddd�	r!|	dj	d�s
|	dxxdz
cc<|j,|j.}}
|
||	|ft|<|	S#t$�r |}t||�ru	t|d�}|�gcYSt|�d|j�D�cgc]}|dz��	ncc}wc}|ft|<t|dcYS#ttf$rYnwxYwt
jj|�rgcYStjD]_}	t
jj||�}n#tt f$rY�6wxYw	tj|�}n#t$rY�]wxYwgcYSY���wxYw#1swY���xYw#tt(t*f$rgcYSwxYw)	z�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.rN�<�>r�
r���)rrr!�
startswith�endswithrrr r�
splitlines�ImportError�path�isabs�sys�join�	TypeError�AttributeError�tokenize�open�	readlines�UnicodeDecodeError�SyntaxErrorr"r#)rrr'r�basename�data�line�dirname�fprr%r&s            rrrPs5��
�5���u�X���1�$��I�I�h��%���+�+�C�0�X�5F�5F�s�5K��	��H�*��w�w�x� ��T�
�]�]�8�
$�	#���L�L�N�E�	#�
�U�2�Y�'�'��-�
�b�	�T��	��,�,��
�
�%�D��E�5�(�2�E�(�O��L��e�(����X�~�.�
*��X��q�)�+���<��I���I��-1�_�_�->�?�T�T�D�[�?��?��	#��h���X��q�)�)�� ��)�
��
��"�7�7�=�=��"��I��x�x�	�G�
��7�7�<�<���:����~�.�
��
��
��w�w�x�(�����
��
��	��I�	�I(��T	#�	#���'��5���	��s��C+�3H%�H�H%�+H�E#�H�H�7E
�H�#E5�2H�4E5�5$H�H�/ G�H�G"�H�!G"�"H�&G=�;H�=	H	�H�H	�	H�H�H"�H%�%H>�=H>c��|tvrtt|�dk(ryy|r"|jd�r|jd�ry|r{d|vrw|j	d�}t|dd	�xs|d}t|d
d	�}|�|j	d�}t|dd	�}|r#|r!t
j||�}|ft|<yy)
a�Seed 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 cacheable
        filename, and the filename must not be already cached.
    rTFr)r*�__name__�__spec__�nameN�loader�
__loader__�
get_source)rrr-r.�get�getattr�	functools�partial)rr�specrDrErG�	get_liness       rrr�s����5���u�X���1�$�����+�+�C�0�X�5F�5F�s�5K���*��6��!�!�*�-���t�V�T�*�H�n�Z�.H����x��.���>�#�'�'��5�F��V�\�4�8�
��J�!�)�)�*�d�;�I�(�l�E�(�O��r)N)
�__doc__rJr3rr7�__all__rrrrrrrr
rr�<module>rPsD����
�	��
>��
	���
�
� &�8@�F!r

Zerion Mini Shell 1.0