\section{\module{tabnanny} --- Detection of ambiguous indentation} % rudimentary documentation based on module comments, by Peter Funk % \declaremodule{standard}{tabnanny} \modulesynopsis{Tool for detecting white space related problems in Python source files in a directory tree.} \moduleauthor{Tim Peters}{tim_one@email.msn.com} \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}