Hacked By AnonymousFox
a
R�fN. � @ s| d dl mZmZ d dlZd dlZd dlZd dlZd dlZd dlZddl m
Z
dd� ZG dd� de
j�Z
d d
� Zd
dd�ZdS )� )�with_statement�print_functionN� )�refactorc C s( | � � } |� � }tj| |||dddd�S )Nz
(original)z(refactored)� )Zlineterm)�
splitlines�difflibZunified_diff)�a�b�filename� r �1/opt/alt/python39/lib64/python3.9/lib2to3/main.py�
diff_texts s �r c s: e Zd Zd
� fdd� Zdd� Z� fdd�Zdd � Z� ZS )�StdoutRefactoringToolr c sP || _ || _|r&|�tj�s&|tj7 }|| _|| _|| _tt | ��
|||� d S �N)� nobackups�
show_diffs�endswith�os�sep�_input_base_dir�_output_dir�_append_suffix�superr �__init__) �selfZfixers�options�explicitr r �input_base_dir�
output_dir�
append_suffix�� __class__r r
r $ s
zStdoutRefactoringTool.__init__c O s0 | j �|||f� | jj|g|�R i |�� d S r )�errors�append�logger�error)r �msg�args�kwargsr r r
� log_errorA s zStdoutRefactoringTool.log_errorc sZ |}| j rH|�| j�r6tj�| j |t| j�d � �}ntd|| jf ��| jrX|| j7 }||kr�tj� |�}tj�
|�s�|r�t�|� | �d||� | j
�s|d }tj�|�r�zt�|� W n ty� | �d|� Y n0 zt�||� W n" t�y | �d||� Y n0 tt| �j}|||||� | j
�s@t�||� ||k�rVt�||� d S )Nz5filename %s does not start with the input_base_dir %szWriting converted %s to %s.z.bakzCan't remove backup %szCan't rename %s to %s)r �
startswithr r �path�join�len�
ValueErrorr �dirname�isdir�makedirs�log_messager �lexists�remove�OSError�renamer r �
write_file�shutilZcopymode) r Znew_textr Zold_text�encodingZ
orig_filenamer Zbackup�writer! r r
r8 E sH
���
�
z StdoutRefactoringTool.write_filec C s� |r| � d|� n�| � d|� | jr�t|||�}zd| jd ur�| j�, |D ]}t|� qHtj�� W d � q�1 st0 Y n|D ]}t|� q�W n" ty� t d|f � Y d S 0 d S )NzNo changes to %sz
Refactored %sz+couldn't encode %s's diff for your terminal)
r3 r r Zoutput_lock�print�sys�stdout�flush�UnicodeEncodeError�warn)r �old�newr ZequalZ
diff_lines�liner r r
�print_outputl s$
*�z"StdoutRefactoringTool.print_output)r r r )�__name__�
__module__�__qualname__r r* r8 rE �
__classcell__r r r! r
r s
�'r c C s t d| f tjd� d S )NzWARNING: %s��file)r<