Your IP : 216.73.216.85
U
i�fM � @ s� d Z ddlZddlmZ ddlmZ ddddd gZdad
d� Zdd
� Z G dd� de�Z
G dd� d�Zedkr�ddl
mZ edddd� dS )z0Editor window that can serve as an output file.
� N)�
messagebox)�EditorWindowzfile "([^"]*)", line (\d+)z([^\s]+)\((\d+)\)z^(\s*\S.*?):\s*(\d+):z([^\s]+):\s*(\d+):z^\s*(\S.*?):\s*(\d+):c C s dd� t D �adS )z?Compile the patterns for matching to file name and line number.c S s g | ]}t �|t j��qS � )�re�compile�
IGNORECASE)�.0Zpatr r �3/opt/alt/python38/lib64/python3.8/idlelib/outwin.py�
<listcomp> s �z!compile_progs.<locals>.<listcomp>N)�file_line_pats�file_line_progsr r r r �
compile_progs s �r
c C s� t s
t� t D ]X}|�| �}|r|�dd�\}}zt|d�}|�� W qlW q tk
rd Y qY qX qdS z|t|�fW S tk
r� Y dS X dS )a- Extract file name and line number from line of text.
Check if line of text contains one of the file/line patterns.
If it does and if the file and line are valid, return
a tuple of the file name and line number. If it doesn't match
or if the file or line is invalid, return None.
� � �rN) r r
�search�group�open�close�OSError�int� TypeError)�line�prog�match�filename�lineno�fr r r �file_line_helper s"