CasperSecurity

Current Path : /usr/lib/python3.10/__pycache__/
Upload File :
Current File : //usr/lib/python3.10/__pycache__/tabnanny.cpython-310.pyc

o

`�wi#,�@s�dZdZddlZddlZddlZgd�Zdadadd�Zdd�Z	Gd	d
�d
e
�Zdd�ZGd
d�d�Z
dd�Zdd�ZedkrDe	�dSdS)a�The Tab Nanny despises ambiguous indentation.  She knows no mercy.

tabnanny -- Detection of ambiguous indentation

For the time being this module is intended to be called as a script.
However it is possible to import it into an IDE and use the function
check() described below.

Warning: The API provided by this module is likely to change in future
releases; such changes may not be backward compatible.
�6�N)�check�NannyNag�process_tokenscGs6d}|D]}tj�|t|��d}qtj�d�dS)N�� �
)�sys�stderr�write�str)�args�sep�arg�r�/usr/lib/python3.10/tabnanny.py�errprint s
rc
Cs�ddl}z|�tjdd�d�\}}Wn|jy+}zt|�WYd}~dSd}~ww|D]\}}|dkr:tda|dkrBtdaq.|sPtdtjdd�dS|D]}t|�qRdS)Nr��qvz-qz-vzUsage:z[-v] file_or_directory ...)�getoptr	�argv�errorr�
filename_only�verboser)r�optsr
�msg�o�arrrr�main's(���
�rc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)rzk
    Raised by process_tokens() if detecting an ambiguous indent.
    Captured and handled in check().
    cCs||||_|_|_dS�N)�linenor�line)�selfr rr!rrr�__init__@szNannyNag.__init__cC�|jSr)r �r"rrr�
get_linenoB�zNannyNag.get_linenocCr$r)rr%rrr�get_msgDr'zNannyNag.get_msgcCr$r)r!r%rrr�get_lineFr'zNannyNag.get_lineN)�__name__�
__module__�__qualname__�__doc__r#r&r(r)rrrrr;src	
CsNtj�|�rDtj�|�sDtrtd|f�t�|�}|D]%}tj�||�}tj�|�r1tj�|�r=tj�|dd��dkrAt	|�qdSzt
�|�}Wntyf}zt
d||f�WYd}~dSd}~wwtdkrqtd|�z�z
tt
�|j��Wn�t
jy�}zt
d||f�WYd}~W|��dSd}~wty�}zt
d	||f�WYd}~W|��dSd}~wt�y
}zE|��}|��}tr�td
||f�td|f�t|���nd|vr�d
|d
}tr�t|�nt||t|��WYd}~W|��dSd}~wwW|��n|��wt�r%td|f�dSdS)a~check(file_or_dir)

    If file_or_dir is a directory and not a symbolic link, then recursively
    descend the directory tree named by file_or_dir, checking all .py files
    along the way. If file_or_dir is an ordinary Python source file, it is
    checked for whitespace related problems. The diagnostic messages are
    written to standard output using the print statement.
    z%r: listing directory���Nz.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�close�IndentationErrorrr&r)r(r�repr)	�file�names�name�fullname�fr�nag�badliner!rrrrIsj


������������rc@sLeZdZd\ZZdd�Zdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�ZdS)�
Whitespacez 	c	Cs�||_tjtj}}g}d}}}|jD]9}||kr$|d}|d}q||krN|d}|d}|t|�krC|dg|t|�d}||d||<d}q||_||_t|�|f|_t|�dk|_	dS)Nrr)
�rawrH�S�T�len�n�nt�tuple�norm�	is_simple)	r"�wsrJrK�count�brMrN�chrrrr#�s(

zWhitespace.__init__cCs|j\}}tt|�d|�S�Nr)rP�maxrL)r"rS�trailingrrr�longest_run_of_spaces�s
z Whitespace.longest_run_of_spacescCsH|j\}}d}t|t|��D]}|||||}q||||jS)Nr)rP�rangerLrN)r"�tabsizerSrX�il�irrr�indent_level�s

zWhitespace.indent_levelcCs|j|jkSr)rP)r"�otherrrr�equal�szWhitespace.equalcCsbt|��|���d}g}td|d�D]}|�|�|�|�kr.|�||�|�|�|�f�q|SrV�rWrYrZr^�append�r"r_rMr�tsrrr�not_equal_witness������zWhitespace.not_equal_witnesscCsp|j|jkrdS|jr|jr|j|jkSt|��|���d}td|d�D]}|�|�|�|�kr5dSq&dS)NFr�T)rMrQrNrWrYrZr^)r"r_rMrdrrr�less�s���zWhitespace.lesscCsbt|��|���d}g}td|d�D]}|�|�|�|�kr.|�||�|�|�|�f�q|SrVrarcrrr�not_less_witnessrfzWhitespace.not_less_witnessN)r*r+r,rJrKr#rYr^r`rerhrirrrrrH�srHcCs8dd�|D�}d}t|�dkr|d}|dd�|�S)Ncss�|]	}t|d�VqdS)rN)r)�.0�tuprrr�	<genexpr>
s�z#format_witnesses.<locals>.<genexpr>zat tab sizer�srz, )rLr6)�w�firsts�prefixrrr�format_witnessess
rqcCstj}tj}tj}tjtjf}td�g}d}|D]l\}}}	}
}||kr&d}q||krRd}t|�}|d�|�sL|d�|�}
dt	|
�}t
|	d||��|�|�q||kr\d}|d=q|r�||vr�d}t|�}|d�|�s�|d�
|�}
dt	|
�}t
|	d||��qdS)Nrrr���zindent not greater e.g. zindent not equal e.g. )r8�INDENT�DEDENT�NEWLINE�COMMENT�NLrHrhrirqrrbr`re)�tokensrsrtru�JUNK�indents�check_equal�type�token�start�endr!�thisguy�witnessrrrrrs:

��r�__main__)r-�__version__r0r	r8�__all__rrrr�	ExceptionrrrHrqrr*rrrr�<module>s&=7
�
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY