o
    JAf•	  ã                   @   sˆ   	 d dl mZ dZddlmZ d dlZd dlZd dlZddlmZ ddlm	Z	 dd	l	m
Z
 e ¡  d
d„ Zdd„ ZedkrBeƒ  dS dS )é    )Úprint_functionz#Guido van Rossum <guido@python.org>é   )ÚsupportNé   )Úpytree)Úpgen2)Údriverc            
      C   sÖ  t  d¡} t j| tjd}d}|j|dd}t||ƒstdƒ tj	dd … s(d S g }tj
D ]>}tj
| }|d u s=t|dƒs>q-|j}| d	¡rL|d d
… }| d¡sRq-td|tjd |j|dd}t||ƒrk| |¡ q-tjD ]c}zt |¡}W n	 ty   Y qow td|dtjd |D ]D}| d¡s•qtd|tjd tj ||¡}z	|j|dd}W n tjjyÆ }	 ztd|	ƒ W Y d }	~	qd }	~	ww t||ƒrÑ| |¡ qqo|sÛtdƒ d S tdƒ |D ]}td|ƒ qád S )NzGrammar.txt)Úconvertz
example.pyT)Údebugz	No diffs.r   Ú__file__z.pycéÿÿÿÿz.pyZParsing)ÚfileZScanningz...zParseError:zNo problems.  Congratulations!zProblems in following files:z***)r   Zload_grammarZDriverr   r	   Z
parse_fileÚdiffÚprintÚsysÚargvÚmodulesÚhasattrr   ÚendswithÚstderrÚappendÚpathÚosÚlistdirÚOSErrorÚjoinr   ÚparseZ
ParseError)
ZgrZdrÚfnÚtreeZproblemsÚnameÚmodÚdirÚnamesÚerr© r$   ú7/usr/lib/python3.10/lib2to3/tests/pytree_idempotency.pyÚmain   sf   







€
ÿ
€ÿ

€õÿr&   c              	   C   sX   t ddƒ}z| t|ƒ¡ W | ¡  n| ¡  w zt d|  ¡W t d¡ S t d¡ w )Nú@Úwzdiff -u %s @)ÚopenÚwriteÚstrÚcloser   ÚsystemÚremove)r   r   Úfr$   r$   r%   r   R   s   
r   Ú__main__)Z
__future__r   Ú
__author__Ú r   r   r   Úloggingr   r   r   ÚbasicConfigr&   r   Ú__name__r$   r$   r$   r%   Ú<module>   s    8
ÿ