blob: 4402e78ce640bb0217fcd982831c40dc740e8e30 [file] [log] [blame]
:mod:`tabnanny` --- Detection of ambiguous indentation
======================================================
.. module:: tabnanny
:synopsis: 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>
.. % rudimentary documentation based on module comments, by 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 :func:`check`
described below.
.. warning::
The API provided by this module is likely to change in future releases; such
changes may not be backward compatible.
.. function:: check(file_or_dir)
If *file_or_dir* is a directory and not a symbolic link, then recursively
descend the directory tree named by *file_or_dir*, checking all :file:`.py`
files along the way. If *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 :func:`print` function.
.. data:: verbose
Flag indicating whether to print verbose messages. This is incremented by the
``-v`` option if called as a script.
.. data:: filename_only
Flag indicating whether to print only the filenames of files containing
whitespace related problems. This is set to true by the ``-q`` option if called
as a script.
.. exception:: NannyNag
Raised by :func:`tokeneater` if detecting an ambiguous indent. Captured and
handled in :func:`check`.
.. function:: tokeneater(type, token, start, end, line)
This function is used by :func:`check` as a callback parameter to the function
:func:`tokenize.tokenize`.
.. % XXX FIXME: Document \function{errprint},
.. % \function{format_witnesses} \class{Whitespace}
.. % check_equal, indents
.. % \function{reset_globals}
.. seealso::
Module :mod:`tokenize`
Lexical scanner for Python source code.