| \section{\module{tabnanny} --- | 
 |          Detection of ambiguous indentation} | 
 |  | 
 | % rudimentary documentation based on module comments, by Peter Funk | 
 | % <pf@artcom-gmbh.de> | 
 |  | 
 | \declaremodule{standard}{tabnanny} | 
 | \modulesynopsis{Tool for detecting white space related problems | 
 |                 in Python source files in a directory tree.} | 
 | \moduleauthor{Tim Peters}{tim_one@users.sourceforge.net} | 
 | \sectionauthor{Peter Funk}{pf@artcom-gmbh.de} | 
 |  | 
 | 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 | 
 | \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.} | 
 |  | 
 | \begin{funcdesc}{check}{file_or_dir} | 
 |   If \var{file_or_dir} is a directory and not a symbolic link, then | 
 |   recursively descend the directory tree named by \var{file_or_dir}, | 
 |   checking all \file{.py} files along the way.  If \var{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. | 
 | \end{funcdesc} | 
 |  | 
 |  | 
 | \begin{datadesc}{verbose} | 
 |   Flag indicating whether to print verbose messages. | 
 |   This is incremented by the \code{-v} option if called as a script. | 
 | \end{datadesc} | 
 |  | 
 |  | 
 | \begin{datadesc}{filename_only} | 
 |   Flag indicating whether to print only the filenames of files | 
 |   containing whitespace related problems.  This is set to true by the | 
 |   \code{-q} option if called as a script. | 
 | \end{datadesc} | 
 |  | 
 |  | 
 | \begin{excdesc}{NannyNag} | 
 |   Raised by \function{tokeneater()} if detecting an ambiguous indent. | 
 |   Captured and handled in \function{check()}. | 
 | \end{excdesc} | 
 |  | 
 |  | 
 | \begin{funcdesc}{tokeneater}{type, token, start, end, line} | 
 |   This function is used by \function{check()} as a callback parameter to | 
 |   the function \function{tokenize.tokenize()}. | 
 | \end{funcdesc} | 
 |  | 
 | % XXX FIXME: Document \function{errprint}, | 
 | %    \function{format_witnesses} \class{Whitespace} | 
 | %    check_equal, indents | 
 | %    \function{reset_globals} | 
 |  | 
 | \begin{seealso} | 
 |   \seemodule{tokenize}{Lexical scanner for Python source code.} | 
 |   % XXX may be add a reference to IDLE? | 
 | \end{seealso} |