],@sdZddlZddlZddlZddlZeedsQeddddgZdada dd Z d d Z Gd dde Z d dZGdddZddZddZedkre dS)6NNLz4tokenize.NL doesn't exist -- tokenize module too oldcheckNannyNagprocess_tokenscGsKd}x.|D]&}tjj|t|d}q WtjjddS)N  )sysstderrwritestr)argssepargr-/opt/alt/python35/lib64/python3.5/tabnanny.pyerrprint#s   rcCsy)tjtjddd\}}Wn6tjk ra}zt|dSWYdd}~XnXx@|D]8\}}|dkrtda|dkritdaqiW|stdtjdddSx|D]}t|qWdS)NZqvz-qz-vzUsage:rz[-v] file_or_directory ...)getoptr argverrorr filename_onlyverboser)Zoptsrmsgoarrrrmain*s)     rc@s@eZdZddZddZddZddZd S) rcCs!||||_|_|_dS)N)linenorline)selfrrrrrr__init__AszNannyNag.__init__cCs|jS)N)r)r rrr get_linenoCszNannyNag.get_linenocCs|jS)N)r)r rrrget_msgEszNannyNag.get_msgcCs|jS)N)r)r rrrget_lineGszNannyNag.get_lineN)__name__ __module__ __qualname__r!r"r#r$rrrrr<s    c %Cstjj|rtjj| rtr<td|ftj|}xt|D]l}tjj||}tjj|rtjj| stjj|dddkrRt |qRWdSyt j |}Wn=t k r}zt d||fdSWYdd}~XnXtdkr3td|z^ytt j|jWn=t jk r}zt d||fdSWYdd}~Xntk r}zt d||fdSWYdd}~Xntk r}z|j}|j}tr6td ||ftd |ft|jnCd |krPd |d }trct|nt||t|dSWYdd}~XnXWd|jXtrtd |fdS)Nz%r: listing directoryz.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.)ospathisdirislinkrprintlistdirjoinnormcasertokenizeopenOSErrorrrgenerate_tokensreadline TokenErrorIndentationErrorrr"r$r#rreprclose) filenamesnamefullnamefrZnagbadlinerrrrrJsT % "      c@speZdZd\ZZddZddZddZdd Zd d Z d d Z ddZ dS) Whitespacez c Cs||_tjtj}}g}d}}}x|jD]}||krc|d}|d}q:||kr|d}|d}|t|kr|dg|t|d}||d||sz#format_witnesses..z at tab sizersrz, )rFr1)wZfirstsprefixrrrformat_witnesses s  rccCstj}tj}tj}tjtjf}tdg}d}x8|D]0\}}} } } ||krsd}qI||krd}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)r3INDENTDEDENTNEWLINECOMMENTrrBr[r\rcrrWrVrY)tokensrerfrgZJUNKindentsZ check_equaltypetokenstartendrZthisguyZwitnessrrrrrs6          __main__) __version__r+r rr3hasattr ValueError__all__rrrr ExceptionrrrBrcrr%rrrrs$        =  7