o 0i0, @ s d Z dZddlZddlZddlZg dZdadadd Zdd Z G d d d e Zdd ZG d d dZ dd Zdd ZedkrDe dS dS )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)checkNannyNagprocess_tokensc G s6 d}| D ]}t j|t| d}qt jd d S )N )sysstderrwritestr)argsseparg r //opt/alt/python310/lib64/python3.10/tabnanny.pyerrprint s r c C s dd l } z| tjdd d\}}W n | jy+ } zt| W Y d }~d S d }~ww |D ]\}}|dkr:td a|dkrBtd aq.|sPtdtjd d d S |D ]}t| qRd S )Nr Zqvz-qz-vzUsage:z[-v] file_or_directory ...)getoptr argverrorr filename_onlyverboser )r Zoptsr msgoar r r r main' s( r c @ s0 e Zd ZdZdd Zdd Zdd Zdd Zd S )r zk Raised by process_tokens() if detecting an ambiguous indent. Captured and handled in check(). c C s |||| _ | _| _d S N)linenor line)selfr r r r r r __init__@ s zNannyNag.__init__c C | j S r )r r r r r get_linenoB zNannyNag.get_linenoc C r" r )r r# r r r get_msgD r% zNannyNag.get_msgc C r" r )r r# r r r get_lineF r% zNannyNag.get_lineN)__name__ __module____qualname____doc__r! r$ r&