grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026B ß­§>ÚR÷ã@s˜dZddlZddlZddlZeedƒs.edƒ‚dddgZdadadd „Z d d „Z Gd d„de ƒZ d d„Z Gdd„dƒZdd„Zdd„Zedkr”e ƒdS)Ú6éNÚNLz4tokenize.NL doesn't exist -- tokenize module too oldÚcheckÚNannyNagÚprocess_tokenscGs:d}x$|D]}tj |t|ƒ¡d}q Wtj d¡dS)NÚú Ú )ÚsysÚstderrÚwriteÚstr)ÚargsÚsepÚarg©rú-/opt/alt/python37/lib64/python3.7/tabnanny.pyÚerrprint"s  rc Csºddl}y| tjdd…d¡\}}Wn,|jk rR}z t|ƒdSd}~XYnXx0|D](\}}|dkrrtda|dkrZtdaqZW|s tdtjddƒdSx|D] }t|ƒq¦WdS)NréZqvz-qz-vzUsage:z[-v] file_or_directory ...)Úgetoptr ÚargvÚerrorrÚ filename_onlyÚverboser)rZoptsrÚmsgÚoÚarrrrÚmain)s   rc@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) rcCs||||_|_|_dS)N)ÚlinenorÚline)ÚselfrrrrrrÚ__init__BszNannyNag.__init__cCs|jS)N)r)r rrrÚ get_linenoDszNannyNag.get_linenocCs|jS)N)r)r rrrÚget_msgFszNannyNag.get_msgcCs|jS)N)r)r rrrÚget_lineHszNannyNag.get_lineN)Ú__name__Ú __module__Ú __qualname__r!r"r#r$rrrrr=sc Cs&tj |¡rŒtj |¡sŒtr*td|fƒt |¡}xR|D]J}tj ||¡}tj |¡rdtj |¡r|tj |dd…¡dkr:t |ƒq:WdSyt   |¡}Wn2t k rÌ}zt d||fƒdSd}~XYnXtdkrâtd|ƒ�zytt  |j¡ƒW�nt jk �r2}zt d||fƒdSd}~XYnÎtk �rd}zt d||fƒdSd}~XYnœtk �rþ}z|| ¡}| ¡}t�r¸td ||fƒtd |fƒt| ¡ƒn6d |k�rÎd |d }t�rÞt|ƒnt||t|ƒƒdSd}~XYnXWd| ¡Xt�r"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ÚbadlinerrrrrKsT          c@sLeZdZd\ZZdd„Zdd„Zdd„Zdd „Zd d „Z d d „Z dd„Z dS)Ú Whitespacez c CsÐ||_tjtj}}g}d}}}x~|jD]t}||krJ|d}|d}q,||krž|d}|d}|t|ƒkrˆ|dg|t|ƒd}||d||<d}q,Pq,W||_||_t|ƒ|f|_t|ƒdk|_ dS)Nrr) ÚrawrAÚSÚTÚlenÚnÚntÚtupleÚnormÚ is_simple) r ZwsrCrDÚcountÚbrFrGZchrrrr!Ÿs(    zWhitespace.__init__cCs|j\}}tt|ƒd|ƒS)Nr)rIÚmaxrE)r rKÚtrailingrrrÚlongest_run_of_spaces¸s z Whitespace.longest_run_of_spacescCsL|j\}}d}x*t|t|ƒƒD]}|||||}qW||||jS)Nr)rIÚrangerErG)r ÚtabsizerKrNZilÚirrrÚ indent_level¼s  zWhitespace.indent_levelcCs |j|jkS)N)rI)r ÚotherrrrÚequalÓszWhitespace.equalcCsft| ¡| ¡ƒd}g}xFtd|dƒD]4}| |¡| |¡kr*| || |¡| |¡f¡q*W|S)Nr)rMrOrPrSÚappend)r rTrFrÚtsrrrÚnot_equal_witnessÚszWhitespace.not_equal_witnesscCsr|j|jkrdS|jr(|jr(|j|jkSt| ¡| ¡ƒd}x.td|dƒD]}| |¡| |¡krNdSqNWdS)NFréT)rFrJrGrMrOrPrS)r rTrFrWrrrÚlessòs   zWhitespace.lesscCsft| ¡| ¡ƒd}g}xFtd|dƒD]4}| |¡| |¡kr*| || |¡| |¡f¡q*W|S)Nr)rMrOrPrSrV)r rTrFrrWrrrÚnot_less_witnessszWhitespace.not_less_witnessN) r%r&r'rCrDr!rOrSrUrXrZr[rrrrrAˆsrAcCs8dd„|Dƒ}d}t|ƒdkr&|d}|dd |¡S)Ncss|]}t|dƒVqdS)rN)r )Ú.0Útuprrrú sz#format_witnesses..z at tab sizerÚsrz, )rEr0)ÚwZfirstsÚprefixrrrÚformat_witnessess  rbcCstj}tj}tj}tjtjf}tdƒg}d}xà|D]Ø\}}} } } ||krNd}q2||kr¦d}t|ƒ} |d | ¡sš|d | ¡} dt | ƒ}t | d|| ƒ‚|  | ¡q2||krºd}|d=q2|r2||kr2d}t| ƒ} |d  | ¡s2|d  | ¡} dt | ƒ}t | d|| ƒ‚q2WdS)Nrrréÿÿÿÿzindent not greater e.g. zindent not equal e.g. )r2ÚINDENTÚDEDENTÚNEWLINEÚCOMMENTrrArZr[rbrrVrUrX)ÚtokensrdrerfZJUNKÚindentsZ check_equalÚtypeÚtokenÚstartÚendrZthisguyZwitnessrrrrrs6       Ú__main__)Ú __version__r*r r2ÚhasattrÚ ValueErrorÚ__all__rrrrÚ ExceptionrrrArbrr%rrrrÚs$  =7