Your IP : 18.218.162.180
���]�,�@s�dZddlZddlZddlZddlZeed�sQed��dddgZdada dd �Z
d
d�ZGdd�de�Z
d
d�ZGdd�d�Zdd�Zdd�Zedkr�e�dS)�6�N�NLz4tokenize.NL doesn't exist -- tokenize module too old�check�NannyNag�process_tokenscGsKd}x.|D]&}tjj|t|��d}q
Wtjjd�dS)N�� �
)�sys�stderr�write�str)�args�sep�arg�r�-/opt/alt/python35/lib64/python3.5/tabnanny.py�errprint#s
rcCs�y)tjtjdd�d�\}}Wn6tjk
ra}zt|�dSWYdd}~XnXx@|D]8\}}|dkr�tda|dkritdaqiW|s�tdtjdd�dSx|D]}t|�q�WdS)N�Zqvz-qz-vzUsage:rz[-v] file_or_directory ...)�getoptr
�argv�errorr�
filename_only�verboser)Zoptsr�msg�o�arrrr�main*s)
rc@s@eZdZdd�Zdd�Zdd�Zdd�Zd S)
rcCs!||||_|_|_dS)N)�linenor�line)�selfrrrrrr�__init__AszNannyNag.__init__cCs|jS)N)r)r rrr�
get_linenoCszNannyNag.get_linenocCs|jS)N)r)r rrr�get_msgEszNannyNag.get_msgcCs|jS)N)r)r rrr�get_lineGszNannyNag.get_lineN)�__name__�
__module__�__qualname__r!r"r#r$rrrrr<sc %Cs�tjj|�r�tjj|�r�tr<td|f�tj|�}xt|D]l}tjj||�}tjj|�r�tjj|�s�tjj|dd��dkrRt |�qRWdSyt
j|�}Wn=tk
r}zt
d||f�dSWYdd}~XnXtdkr3td|�z^ytt
j|j��Wn=t
jk
r�}zt
d||f�dSWYdd}~Xn�tk
r�}zt
d||f�dSWYdd}~Xn�tk
r�}z�|j�}|j�}tr6td ||f�td
|f�t|j��nCd|krPd|d}trct|�nt||t|��dSWYdd}~XnXWd|j�Xtr�td
|f�dS)Nz%r: listing directory�z.pyz%r: I/O Error: %srzchecking %r ...z%r: Token Error: %sz%r: Indentation Error: %sz)%r: *** Line %d: trouble in tab city! ***zoffending line: %rr�"z%r: Clean bill of health.���)�os�path�isdir�islinkr�print�listdir�join�normcaser�tokenize�open�OSErrorrr�generate_tokens�readline�
TokenError�IndentationErrorrr"r$r#r�repr�close) �file�names�name�fullname�frZnag�badlinerrrrrJsT
%
"
c@speZdZd\ZZdd�Zdd�Zdd�Zdd �Zd
d�Z dd
�Z
dd�ZdS)�
Whitespacez c Cs||_tjtj}}g}d}}}x�|jD]�}||krc|d}|d}q:||kr�|d}|d}|t|�kr�|dg|t|�d}||d||<d}q:Pq:W||_||_t|�|f|_t|�dk|_ dS)Nrr)
�rawrB�S�T�len�n�nt�tuple�norm� is_simple) r ZwsrDrE�count�brGrHZchrrrr!�s(
zWhitespace.__init__cCs&|j\}}tt|�d|�S)Nr)rJ�maxrF)r rL�trailingrrr�longest_run_of_spaces�sz Whitespace.longest_run_of_spacescCs^|j\}}d}x3t|t|��D]}|||||}q+W||||jS)Nr)rJ�rangerFrH)r �tabsizerLrOZil�irrr�indent_level�s
zWhitespace.indent_levelcCs|j|jkS)N)rJ)r �otherrrr�equal�szWhitespace.equalcCs�t|j�|j��d}g}xatd|d�D]L}|j|�|j|�kr9|j||j|�|j|�f�q9W|S)Nr)rNrPrQrT�append)r rUrGr�tsrrr�not_equal_witness�s zWhitespace.not_equal_witnesscCs�|j|jkrdS|jr8|jr8|j|jkSt|j�|j��d}x=td|d�D](}|j|�|j|�krkdSqkWdS)NFr�T)rGrKrHrNrPrQrT)r rUrGrXrrr�less�szWhitespace.lesscCs�t|j�|j��d}g}xatd|d�D]L}|j|�|j|�kr9|j||j|�|j|�f�q9W|S)Nr)rNrPrQrTrW)r rUrGrrXrrr�not_less_witnesss zWhitespace.not_less_witnessN)r%r&r'rDrEr!rPrTrVrYr[r\rrrrrB�srBcCsJdd�|D�}d}t|�dkr5|d}|ddj|�S)Ncss|]}t|d�VqdS)rN)r
)�.0�tuprrr� <genexpr>sz#format_witnesses.<locals>.<genexpr>zat tab sizer�srz, )rFr1)�wZfirsts�prefixrrr�format_witnesses
s
rccCs�tj}tj}tj}tjtjf}td�g}d}x8|D]0\}}} }
}||krsd}qI||kr�d}t|�}|dj|�s�|dj|�}
dt |
�}t
| d||��|j|�qI||kr d}|d=qI|rI||krId}t|�}|d j|�sI|d
j
|�}
dt |
�}t
| d||��qIWdS)Nrrrzindent not greater e.g. zindent not equal e.g. ���rdrdrdrd)r3�INDENT�DEDENT�NEWLINE�COMMENTrrBr[r\rcrrWrVrY)�tokensrerfrgZJUNK�indentsZcheck_equal�type�token�start�endrZthisguyZwitnessrrrrrs6
�__main__)�__version__r+r
rr3�hasattr�
ValueError�__all__rrrr� ExceptionrrrBrcrr%rrrr�<module>s$=�7
?>