<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

],                 @   s   d  Z  d d l Z d d l Z d d l Z d d l Z e e d  sQ e d   d d d g Z d a d a	 d d	   Z
 d
 d   Z Gd d   d e  Z d d   Z Gd d   d  Z d d   Z d d   Z e d k r e   d S)6    NNLz4tokenize.NL doesn't exist -- tokenize module too oldcheckNannyNagprocess_tokensc              G   sK   d } x. |  D]& } t  j j | t |   d } q Wt  j j d  d  S)N  
)sysstderrwritestr)argsseparg r   -/opt/alt/python35/lib64/python3.5/tabnanny.pyerrprint#   s
    
r   c              C   s   y) t  j  t j d d   d  \ }  } Wn6 t  j k
 ra } z t |  d  SWYd  d  } ~ Xn Xx@ |  D]8 \ } } | d k r t d a | d k ri t d a qi W| s t d t j d d  d  Sx | D] } t |  q Wd  S)N   Zqvz-qz-vzUsage:r   z[-v] file_or_directory ...)getoptr
   argverrorr   filename_onlyverboser   )Zoptsr   msgoar   r   r   r   main*   s    )

r   c               @   s@   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 S)
r   c             C   s!   | | | |  _  |  _ |  _ d  S)N)linenor   line)selfr   r   r   r   r   r   __init__A   s    zNannyNag.__init__c             C   s   |  j  S)N)r   )r    r   r   r   
get_linenoC   s    zNannyNag.get_linenoc             C   s   |  j  S)N)r   )r    r   r   r   get_msgE   s    zNannyNag.get_msgc             C   s   |  j  S)N)r   )r    r   r   r   get_lineG   s    zNannyNag.get_lineN)__name__
__module____qualname__r!   r"   r#   r$   r   r   r   r   r   <   s   c       	   %   C   s  t  j j |   r t  j j |   r t r< t d |  f  t  j |   } xt | D]l } t  j j |  |  } t  j j |  r t  j j |  s t  j j | d d    d k rR t	 |  qR Wd  Sy t
 j |   } Wn= t k
 r} z t d |  | f  d  SWYd  d  } ~ Xn Xt d k r3t d |   z^y t t
 j | j   Wn=t
 j k
 r} z t d |  | f  d  SWYd  d  } ~ Xn t k
 r} z t d |  | f  d  SWYd  d  } ~ Xn t k
 r} z | j   } | j   } t r6t d	 |  | f  t d
 | f  t | j    nC d |  k rPd |  d }  t rct |   n t |  | t |   d  SWYd  d  } ~ Xn XWd  | j   Xt rt d |  f  d  S)Nz%r: listing directory   z.pyz%r: I/O Error: %sr   zchecking %r ...z%r: Token Error: %sz%r: Indentation Error: %sz)%r: *** Line %d: trouble in tab city! ***zoffending line: %rr   "z%r: Clean bill of health.)ospathisdirislinkr   printlistdirjoinnormcaser   tokenizeopenOSErrorr   r   generate_tokensreadline
TokenErrorIndentationErrorr   r"   r$   r#   r   reprclose)	filenamesnamefullnamefr   Znagbadliner   r   r   r   r   J   sT    
%"  c               @   sp   e  Z d  Z d \ Z Z d d   Z d d   Z d d   Z d d	   Z d
 d   Z	 d d   Z
 d d   Z d S)
Whitespacez 	c       	      C   s  | |  _  t j t j } } g  } d } } } x |  j  D] } | | k rc | d } | d } q: | | k r | d } | d } | t |  k r | d g | t |  d } | | d | | <d } q: Pq: W| |  _ | |  _ t |  | f |  _ t |  d k |  _	 d  S)Nr   r   )
rawrB   STlennnttuplenorm	is_simple)	r    ZwsrD   rE   countbrG   rH   Zchr   r   r   r!      s(    	


			zWhitespace.__init__c             C   s&   |  j  \ } } t t |  d |  S)Nr   )rJ   maxrF   )r    rL   trailingr   r   r   longest_run_of_spaces   s    z Whitespace.longest_run_of_spacesc             C   s^   |  j  \ } } d } x3 t | t |   D] } | | | | | } q+ W| | | |  j S)Nr   )rJ   rangerF   rH   )r    tabsizerL   rO   Zilir   r   r   indent_level   s
    zWhitespace.indent_levelc             C   s   |  j  | j  k S)N)rJ   )r    otherr   r   r   equal   s    zWhitespace.equalc             C   s   t  |  j   | j    d } g  } xa t d | d  D]L } |  j |  | j |  k r9 | j | |  j |  | j |  f  q9 W| S)Nr   )rN   rP   rQ   rT   append)r    rU   rG   r   tsr   r   r   not_equal_witness   s    	zWhitespace.not_equal_witnessc             C   s   |  j  | j  k r d S|  j r8 | j r8 |  j | j k St |  j   | j    d } x= t d | d  D]( } |  j |  | j |  k rk d Sqk Wd S)NFr      T)rG   rK   rH   rN   rP   rQ   rT   )r    rU   rG   rX   r   r   r   less   s    zWhitespace.lessc             C   s   t  |  j   | j    d } g  } xa t d | d  D]L } |  j |  | j |  k r9 | j | |  j |  | j |  f  q9 W| S)Nr   )rN   rP   rQ   rT   rW   )r    rU   rG   r   rX   r   r   r   not_less_witness  s    	zWhitespace.not_less_witnessN)r%   r&   r'   rD   rE   r!   rP   rT   rV   rY   r[   r\   r   r   r   r   rB      s   rB   c             C   sJ   d d   |  D } d } t  |   d k r5 | d } | d d j |  S)Nc             s   s   |  ] } t  | d   Vq d S)r   N)r   ).0tupr   r   r   	<genexpr>  s    z#format_witnesses.<locals>.<genexpr>zat tab sizer   sr   z, )rF   r1   )wZfirstsprefixr   r   r   format_witnesses  s
    
rc   c             C   s  t  j } t  j } t  j } t  j t  j f } t d  g } d } x8|  D]0\ } } }	 }
 } | | k rs d } qI | | k r d } t |  } | d j |  s | d j |  } d t	 |  } t
 |	 d | |   | j |  qI | | k r	d } | d =qI | rI | | k rI d } t |  } | d	 j |  sI | d
 j |  } d t	 |  } t
 |	 d | |   qI Wd  S)Nr   r   r   zindent not greater e.g. zindent not equal e.g. rd   rd   rd   rd   )r3   INDENTDEDENTNEWLINECOMMENTr   rB   r[   r\   rc   r   rW   rV   rY   )tokensre   rf   rg   ZJUNKindentsZcheck_equaltypetokenstartendr   ZthisguyZwitnessr   r   r   r   r     s6    				

__main__)__version__r+   r
   r   r3   hasattr
ValueError__all__r   r   r   r   	Exceptionr   r   rB   rc   r   r%   r   r   r   r   <module>   s$   =7