blob: 549ce368b71350f4b4234b131896b28071d25c22 [file] [log] [blame]
Georg Brandl116aa622007-08-15 14:28:22 +00001:mod:`tabnanny` --- Detection of ambiguous indentation
2======================================================
3
4.. module:: tabnanny
Georg Brandl7f01a132009-09-16 15:58:14 +00005 :synopsis: Tool for detecting white space related problems in Python
6 source files in a directory tree.
Georg Brandl116aa622007-08-15 14:28:22 +00007.. moduleauthor:: Tim Peters <tim_one@users.sourceforge.net>
8.. sectionauthor:: Peter Funk <pf@artcom-gmbh.de>
9
Christian Heimes5b5e81c2007-12-31 16:14:33 +000010.. rudimentary documentation based on module comments
Georg Brandl116aa622007-08-15 14:28:22 +000011
12For the time being this module is intended to be called as a script. However it
13is possible to import it into an IDE and use the function :func:`check`
14described below.
15
Georg Brandle720c0a2009-04-27 16:20:50 +000016.. note::
Georg Brandl116aa622007-08-15 14:28:22 +000017
Georg Brandle720c0a2009-04-27 16:20:50 +000018 The API provided by this module is likely to change in future releases; such
Georg Brandl116aa622007-08-15 14:28:22 +000019 changes may not be backward compatible.
20
21
22.. function:: check(file_or_dir)
23
24 If *file_or_dir* is a directory and not a symbolic link, then recursively
25 descend the directory tree named by *file_or_dir*, checking all :file:`.py`
Georg Brandl6911e3c2007-09-04 07:15:32 +000026 files along the way. If *file_or_dir* is an ordinary Python source file, it
27 is checked for whitespace related problems. The diagnostic messages are
28 written to standard output using the :func:`print` function.
Georg Brandl116aa622007-08-15 14:28:22 +000029
30
31.. data:: verbose
32
33 Flag indicating whether to print verbose messages. This is incremented by the
34 ``-v`` option if called as a script.
35
36
37.. data:: filename_only
38
39 Flag indicating whether to print only the filenames of files containing
40 whitespace related problems. This is set to true by the ``-q`` option if called
41 as a script.
42
43
44.. exception:: NannyNag
45
46 Raised by :func:`tokeneater` if detecting an ambiguous indent. Captured and
47 handled in :func:`check`.
48
49
50.. function:: tokeneater(type, token, start, end, line)
51
52 This function is used by :func:`check` as a callback parameter to the function
53 :func:`tokenize.tokenize`.
54
Christian Heimes5b5e81c2007-12-31 16:14:33 +000055.. XXX document errprint, format_witnesses, Whitespace, check_equal, indents,
56 reset_globals
Georg Brandl116aa622007-08-15 14:28:22 +000057
58
59.. seealso::
60
61 Module :mod:`tokenize`
62 Lexical scanner for Python source code.