]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Remove tabs from the documentation.
authorGeorg Brandl <georg@python.org>
Sat, 3 Jan 2009 21:04:55 +0000 (21:04 +0000)
committerGeorg Brandl <georg@python.org>
Sat, 3 Jan 2009 21:04:55 +0000 (21:04 +0000)
20 files changed:
Doc/extending/newtypes.rst
Doc/howto/curses.rst
Doc/howto/regex.rst
Doc/howto/sockets.rst
Doc/howto/unicode.rst
Doc/library/abc.rst
Doc/library/collections.rst
Doc/library/gettext.rst
Doc/library/multiprocessing.rst
Doc/library/optparse.rst
Doc/library/sched.rst
Doc/library/socket.rst
Doc/library/xmlrpclib.rst
Doc/license.rst
Doc/tutorial/datastructures.rst
Doc/tutorial/stdlib2.rst
Doc/whatsnew/2.0.rst
Doc/whatsnew/2.2.rst
Doc/whatsnew/2.4.rst
Doc/whatsnew/2.6.rst

index 3f9054badd418ec25fa2293d252d11563a5879ea..030de57f7774600b94e9136e5fd4f98bf8994e95 100644 (file)
@@ -840,8 +840,8 @@ As you can see, the source code closely resembles the :class:`Noddy` examples in
 previous sections. We will break down the main differences between them. ::
 
    typedef struct {
-       PyListObject list;
-       int state;
+       PyListObject list;
+       int state;
    } Shoddy;
 
 The primary difference for derived type objects is that the base type's object
@@ -854,10 +854,10 @@ be safely cast to both *PyListObject\** and *Shoddy\**. ::
    static int
    Shoddy_init(Shoddy *self, PyObject *args, PyObject *kwds)
    {
-       if (PyList_Type.tp_init((PyObject *)self, args, kwds) < 0)
-               return -1;
-       self->state = 0;
-       return 0;
+       if (PyList_Type.tp_init((PyObject *)self, args, kwds) < 0)
+          return -1;
+       self->state = 0;
+       return 0;
    }
 
 In the :attr:`__init__` method for our type, we can see how to call through to
@@ -876,18 +876,18 @@ the module's :cfunc:`init` function. ::
    PyMODINIT_FUNC
    initshoddy(void)
    {
-       PyObject *m;
+       PyObject *m;
 
-       ShoddyType.tp_base = &PyList_Type;
-       if (PyType_Ready(&ShoddyType) < 0)
-               return;
+       ShoddyType.tp_base = &PyList_Type;
+       if (PyType_Ready(&ShoddyType) < 0)
+           return;
 
-       m = Py_InitModule3("shoddy", NULL, "Shoddy module");
-       if (m == NULL)
-               return;
+       m = Py_InitModule3("shoddy", NULL, "Shoddy module");
+       if (m == NULL)
+           return;
 
-       Py_INCREF(&ShoddyType);
-       PyModule_AddObject(m, "Shoddy", (PyObject *) &ShoddyType);
+       Py_INCREF(&ShoddyType);
+       PyModule_AddObject(m, "Shoddy", (PyObject *) &ShoddyType);
    }
 
 Before calling :cfunc:`PyType_Ready`, the type structure must have the
@@ -1167,7 +1167,7 @@ structure::
    typedef struct PyMethodDef {
        char        *ml_name;       /* method name */
        PyCFunction  ml_meth;       /* implementation function */
-       int              ml_flags;      /* flags */
+       int          ml_flags;      /* flags */
        char        *ml_doc;        /* docstring */
    } PyMethodDef;
 
index 0600ea6483e093798c589f9a13d0e22eb631b121..2d964c393ca8098475d35de90e800723871627e4 100644 (file)
@@ -297,7 +297,7 @@ So, to display a reverse-video status line on the top line of the screen, you
 could code::
 
    stdscr.addstr(0, 0, "Current mode: Typing mode",
-             curses.A_REVERSE)
+                 curses.A_REVERSE)
    stdscr.refresh()
 
 The curses library also supports color on those terminals that provide it, The
index 4275ffb8a66693971b3a0af8b25930fc659e964a..051e7d70e8fcbfad42c7872032e584e83fae1946 100644 (file)
@@ -917,7 +917,7 @@ module::
 
    InternalDate = re.compile(r'INTERNALDATE "'
            r'(?P<day>[ 123][0-9])-(?P<mon>[A-Z][a-z][a-z])-'
-       r'(?P<year>[0-9][0-9][0-9][0-9])'
+           r'(?P<year>[0-9][0-9][0-9][0-9])'
            r' (?P<hour>[0-9][0-9]):(?P<min>[0-9][0-9]):(?P<sec>[0-9][0-9])'
            r' (?P<zonen>[-+])(?P<zoneh>[0-9][0-9])(?P<zonem>[0-9][0-9])'
            r'"')
index 3734d6920837649cc3c8d3aaf9ae1f0bf6bbfd73..3cba020bb84171f64f2b7ec5adca52e63d554735 100644 (file)
@@ -190,33 +190,33 @@ length message::
        '''
 
        def __init__(self, sock=None):
-       if sock is None:
-           self.sock = socket.socket(
-               socket.AF_INET, socket.SOCK_STREAM)
-       else:
-           self.sock = sock
+           if sock is None:
+               self.sock = socket.socket(
+                   socket.AF_INET, socket.SOCK_STREAM)
+           else:
+               self.sock = sock
 
        def connect(self, host, port):
-       self.sock.connect((host, port))
+           self.sock.connect((host, port))
 
        def mysend(self, msg):
-       totalsent = 0
-       while totalsent < MSGLEN:
-           sent = self.sock.send(msg[totalsent:])
-           if sent == 0:
-               raise RuntimeError, \
-                   "socket connection broken"
-           totalsent = totalsent + sent
+           totalsent = 0
+           while totalsent < MSGLEN:
+               sent = self.sock.send(msg[totalsent:])
+               if sent == 0:
+                   raise RuntimeError, \
+                       "socket connection broken"
+               totalsent = totalsent + sent
 
        def myreceive(self):
-       msg = ''
-       while len(msg) < MSGLEN:
-           chunk = self.sock.recv(MSGLEN-len(msg))
-           if chunk == '':
-               raise RuntimeError, \
-                   "socket connection broken"
-           msg = msg + chunk
-       return msg
+           msg = ''
+           while len(msg) < MSGLEN:
+               chunk = self.sock.recv(MSGLEN-len(msg))
+               if chunk == '':
+                   raise RuntimeError, \
+                       "socket connection broken"
+               msg = msg + chunk
+           return msg
 
 The sending code here is usable for almost any messaging scheme - in Python you
 send strings, and you can use ``len()`` to determine its length (even if it has
index 7f246ccea37ce69ab5e5db1f9ab514f9979cbf12..c09a72d6b0a2ca285356ce12dbf68ef2f3afdc7e 100644 (file)
@@ -30,8 +30,8 @@ For a while people just wrote programs that didn't display accents.  I remember
 looking at Apple ][ BASIC programs, published in French-language publications in
 the mid-1980s, that had lines like these::
 
-       PRINT "FICHIER EST COMPLETE."
-       PRINT "CARACTERE NON ACCEPTE."
+   PRINT "FICHIER EST COMPLETE."
+   PRINT "CARACTERE NON ACCEPTE."
 
 Those messages should contain accents, and they just look wrong to someone who
 can read French.
@@ -89,11 +89,11 @@ standard, a code point is written using the notation U+12ca to mean the
 character with value 0x12ca (4810 decimal).  The Unicode standard contains a lot
 of tables listing characters and their corresponding code points::
 
-       0061    'a'; LATIN SMALL LETTER A
-       0062    'b'; LATIN SMALL LETTER B
-       0063    'c'; LATIN SMALL LETTER C
-        ...
-       007B    '{'; LEFT CURLY BRACKET
+   0061    'a'; LATIN SMALL LETTER A
+   0062    'b'; LATIN SMALL LETTER B
+   0063    'c'; LATIN SMALL LETTER C
+   ...
+   007B    '{'; LEFT CURLY BRACKET
 
 Strictly, these definitions imply that it's meaningless to say 'this is
 character U+12ca'.  U+12ca is a code point, which represents some particular
@@ -597,19 +597,19 @@ encoding and a list of Unicode strings will be returned, while passing an 8-bit
 path will return the 8-bit versions of the filenames.  For example, assuming the
 default filesystem encoding is UTF-8, running the following program::
 
-       fn = u'filename\u4500abc'
-       f = open(fn, 'w')
-       f.close()
+   fn = u'filename\u4500abc'
+   f = open(fn, 'w')
+   f.close()
 
-       import os
-       print os.listdir('.')
-       print os.listdir(u'.')
+   import os
+   print os.listdir('.')
+   print os.listdir(u'.')
 
 will produce the following output::
 
-       amk:~$ python t.py
-       ['.svn', 'filename\xe4\x94\x80abc', ...]
-       [u'.svn', u'filename\u4500abc', ...]
+   amk:~$ python t.py
+   ['.svn', 'filename\xe4\x94\x80abc', ...]
+   [u'.svn', u'filename\u4500abc', ...]
 
 The first list contains UTF-8-encoded filenames, and the second list contains
 the Unicode versions.
@@ -703,26 +703,26 @@ Version 1.02: posted August 16 2005.  Corrects factual errors.
    - [ ] Unicode introduction
        - [ ] ASCII
        - [ ] Terms
-          - [ ] Character
-          - [ ] Code point
-        - [ ] Encodings
-           - [ ] Common encodings: ASCII, Latin-1, UTF-8
+           - [ ] Character
+           - [ ] Code point
+         - [ ] Encodings
+            - [ ] Common encodings: ASCII, Latin-1, UTF-8
        - [ ] Unicode Python type
-          - [ ] Writing unicode literals
-              - [ ] Obscurity: -U switch
-          - [ ] Built-ins
-              - [ ] unichr()
-              - [ ] ord()
-              - [ ] unicode() constructor
-          - [ ] Unicode type
-              - [ ] encode(), decode() methods
+           - [ ] Writing unicode literals
+               - [ ] Obscurity: -U switch
+           - [ ] Built-ins
+               - [ ] unichr()
+               - [ ] ord()
+               - [ ] unicode() constructor
+           - [ ] Unicode type
+               - [ ] encode(), decode() methods
        - [ ] Unicodedata module for character properties
        - [ ] I/O
-          - [ ] Reading/writing Unicode data into files
-              - [ ] Byte-order marks
-          - [ ] Unicode filenames
+           - [ ] Reading/writing Unicode data into files
+               - [ ] Byte-order marks
+           - [ ] Unicode filenames
        - [ ] Writing Unicode programs
-          - [ ] Do everything in Unicode
-          - [ ] Declaring source code encodings (PEP 263)
+           - [ ] Do everything in Unicode
+           - [ ] Declaring source code encodings (PEP 263)
        - [ ] Other issues
-          - [ ] Building Python (UCS2, UCS4)
+           - [ ] Building Python (UCS2, UCS4)
index a4b29f69d006480b308e3b5e50f9087d3a344aa6..8014aedd56b75045902559212eca3e64dd715e9f 100644 (file)
@@ -43,15 +43,15 @@ This module provides the following class:
       Register *subclass* as a "virtual subclass" of this ABC. For
       example::
 
-       from abc import ABCMeta
+        from abc import ABCMeta
 
-       class MyABC:
-           __metaclass__ = ABCMeta
+        class MyABC:
+            __metaclass__ = ABCMeta
 
-       MyABC.register(tuple)
+        MyABC.register(tuple)
 
-       assert issubclass(tuple, MyABC)
-       assert isinstance((), MyABC)
+        assert issubclass(tuple, MyABC)
+        assert isinstance((), MyABC)
 
    You can also override this method in an abstract base class:
 
index 2f72dcf7119030e2307a15914c37b50a8f979097..2725d68524be29ffcb4ee6f72343132da59cb996 100644 (file)
@@ -53,7 +53,7 @@ ABC                        Inherits               Abstract Methods        Mixin
 :class:`Hashable`                                 ``__hash__``
 :class:`Iterable`                                 ``__iter__``
 :class:`Iterator`          :class:`Iterable`      ``__next__``            ``__iter__``
-:class:`Sized`                                   ``__len__``
+:class:`Sized`                                    ``__len__``
 :class:`Callable`                                 ``__call__``
 
 :class:`Sequence`          :class:`Sized`,        ``__getitem__``         ``__contains__``. ``__iter__``, ``__reversed__``.
@@ -80,7 +80,7 @@ ABC                        Inherits               Abstract Methods        Mixin
 :class:`MutableMapping`    :class:`Mapping`       ``__getitem__``         Inherited Mapping methods and
                                                   ``__setitem__``,        ``pop``, ``popitem``, ``clear``, ``update``,
                                                   ``__delitem__``,        and ``setdefault``
-                                                 ``__iter__``, and
+                                                  ``__iter__``, and
                                                   ``__len__``
 
 :class:`MappingView`       :class:`Sized`                                 ``__len__``
@@ -96,7 +96,7 @@ particular functionality, for example::
 
     size = None
     if isinstance(myvar, collections.Sized):
-       size = len(myvar)
+        size = len(myvar)
 
 Several of the ABCs are also useful as mixins that make it easier to develop
 classes supporting container APIs.  For example, to write a class supporting
index 22ad6682e8bd26f165e056315cfe12aa1222e65b..b95eb7910ff55cf47616ba07fcad5640b433006d 100644 (file)
@@ -648,10 +648,9 @@ translation until later.  A classic example is::
 
    animals = ['mollusk',
               'albatross',
-          'rat',
-          'penguin',
-          'python',
-          ]
+              'rat',
+              'penguin',
+              'python', ]
    # ...
    for a in animals:
        print a
@@ -666,10 +665,9 @@ Here is one way you can handle this situation::
 
    animals = [_('mollusk'),
               _('albatross'),
-          _('rat'),
-          _('penguin'),
-          _('python'),
-          ]
+              _('rat'),
+              _('penguin'),
+              _('python'), ]
 
    del _
 
@@ -692,10 +690,9 @@ Another way to handle this is with the following example::
 
    animals = [N_('mollusk'),
               N_('albatross'),
-          N_('rat'),
-          N_('penguin'),
-          N_('python'),
-          ]
+              N_('rat'),
+              N_('penguin'),
+              N_('python'), ]
 
    # ...
    for a in animals:
index ec27be06371281fa7517cdc365c05f69408b3ddf..72cf5101a96fffba6b5c7a85ba537f47ed37a580 100644 (file)
@@ -37,7 +37,7 @@ Windows.
         >>> from multiprocessing import Pool
         >>> p = Pool(5)
         >>> def f(x):
-        ...    return x*x
+        ...     return x*x
         ...
         >>> p.map(f, [1,2,3])
         Process PoolWorker-1:
index e201d2226a48c5d030567beb36a32dfbaff4f247..6af40745fbce1ed47243aa131b10e51b96724181 100644 (file)
@@ -548,8 +548,8 @@ Continuing with the parser defined above, adding an
 :class:`OptionGroup` to a parser is easy::
 
     group = OptionGroup(parser, "Dangerous Options",
-                       "Caution: use these options at your own risk.  "
-                       "It is believed that some of them bite.")
+                        "Caution: use these options at your own risk.  "
+                        "It is believed that some of them bite.")
     group.add_option("-g", action="store_true", help="Group option.")
     parser.add_option_group(group)
 
@@ -563,12 +563,12 @@ This would result in the following help output::
       -q, --quiet          be vewwy quiet (I'm hunting wabbits)
       -fFILE, --file=FILE  write output to FILE
       -mMODE, --mode=MODE  interaction mode: one of 'novice', 'intermediate'
-                          [default], 'expert'
+                           [default], 'expert'
 
       Dangerous Options:
-       Caution: use of these options is at your own risk.  It is believed that
-       some of them bite.
-       -g                 Group option.
+      Caution: use of these options is at your own risk.  It is believed that
+      some of them bite.
+      -g                 Group option.
 
 .. _optparse-printing-version-string:
 
index 121038dfa131d052de9563bc7cc10c5626967e03..2283077bd0dc89e1f014e4396604310fc10a5fa0 100644 (file)
@@ -58,7 +58,7 @@ Example::
     ...     print time.time()
     ...     Timer(5, print_time, ()).start()
     ...     Timer(10, print_time, ()).start()
-    ...     time.sleep(11)     # sleep while time-delay events execute
+    ...     time.sleep(11)  # sleep while time-delay events execute
     ...     print time.time()
     ...
     >>> print_some_times()
index e8c2d537faa0cdadf37176b6325241ebcf029421..4f2a32ecf0402ec4641d744bfe5d426447eba76f 100644 (file)
@@ -852,20 +852,21 @@ sends traffic to the first one connected successfully. ::
    HOST = None               # Symbolic name meaning all available interfaces
    PORT = 50007              # Arbitrary non-privileged port
    s = None
-   for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC, socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
+   for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC,
+                                 socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
        af, socktype, proto, canonname, sa = res
        try:
-       s = socket.socket(af, socktype, proto)
+           s = socket.socket(af, socktype, proto)
        except socket.error, msg:
-       s = None
-       continue
+           s = None
+           continue
        try:
-       s.bind(sa)
-       s.listen(1)
+           s.bind(sa)
+           s.listen(1)
        except socket.error, msg:
-       s.close()
-       s = None
-       continue
+           s.close()
+           s = None
+           continue
        break
    if s is None:
        print 'could not open socket'
@@ -890,16 +891,16 @@ sends traffic to the first one connected successfully. ::
    for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC, socket.SOCK_STREAM):
        af, socktype, proto, canonname, sa = res
        try:
-       s = socket.socket(af, socktype, proto)
+           s = socket.socket(af, socktype, proto)
        except socket.error, msg:
-       s = None
-       continue
+           s = None
+           continue
        try:
-       s.connect(sa)
+           s.connect(sa)
        except socket.error, msg:
-       s.close()
-       s = None
-       continue
+           s.close()
+           s = None
+           continue
        break
    if s is None:
        print 'could not open socket'
index a227c4728b16841938f435423eb71f7df9a6c052..039a8a8d5ace83fcb05b0904d364c7189db62f5f 100644 (file)
@@ -560,8 +560,8 @@ transport.  The following example shows how:
            self.proxy = proxy
        def make_connection(self, host):
            self.realhost = host
-       h = httplib.HTTP(self.proxy)
-       return h
+           h = httplib.HTTP(self.proxy)
+           return h
        def send_request(self, connection, handler, request_body):
            connection.putrequest("POST", 'http://%s%s' % (self.realhost, handler))
        def send_host(self, connection, host):
index 86e122ca3f3c905345b4890b125f7ceec73e920b..278bb2d84338d2f0e60a7b505534c02b4378987b 100644 (file)
@@ -453,7 +453,7 @@ The source code for the :mod:`md5` module contains the following notice::
 
      This code implements the MD5 Algorithm defined in RFC 1321, whose
      text is available at
-       http://www.ietf.org/rfc/rfc1321.txt
+           http://www.ietf.org/rfc/rfc1321.txt
      The code is derived from the text of the RFC, including the test suite
      (section A.5) but excluding the rest of Appendix A.  It does not include
      any code or documentation that is identified in the RFC as being
@@ -464,12 +464,12 @@ The source code for the :mod:`md5` module contains the following notice::
      that follows (in reverse chronological order):
 
      2002-04-13 lpd Removed support for non-ANSI compilers; removed
-       references to Ghostscript; clarified derivation from RFC 1321;
-       now handles byte order either statically or dynamically.
+           references to Ghostscript; clarified derivation from RFC 1321;
+           now handles byte order either statically or dynamically.
      1999-11-04 lpd Edited comments slightly for automatic TOC extraction.
      1999-10-18 lpd Fixed typo in header comment (ansi2knr rather than md5);
-       added conditionalization for C++ compilation from Martin
-       Purschke <purschke@bnl.gov>.
+           added conditionalization for C++ compilation from Martin
+           Purschke <purschke@bnl.gov>.
      1999-05-03 lpd Original version.
 
 
index f7e7243d7423306487e31c4528b50e547cf3752c..2cc1e601c4c09f070adc1308e3917801f97627ff 100644 (file)
@@ -251,7 +251,7 @@ would evaluate to a tuple, it must be parenthesized. ::
    []
    >>> [[x,x**2] for x in vec]
    [[2, 4], [4, 16], [6, 36]]
-   >>> [x, x**2 for x in vec]  # error - parens required for tuples
+   >>> [x, x**2 for x in vec]  # error - parens required for tuples
      File "<stdin>", line 1, in ?
        [x, x**2 for x in vec]
                   ^
index abcf96a9d8e737836a1b782153b63b2b0b49cea3..8faa3604640c93981cdb2ee6535aa7c42bc9d974 100644 (file)
@@ -62,7 +62,7 @@ formatting numbers with group separators::
    >>> locale.format("%d", x, grouping=True)
    '1,234,567'
    >>> locale.format("%s%.*f", (conv['currency_symbol'],
-   ...       conv['frac_digits'], x), grouping=True)
+   ...               conv['frac_digits'], x), grouping=True)
    '$1,234,567.80'
 
 
index 75205d40fbf6d529d6a8a5ec4a4268ad6105bb53..f5326d75928d168c17de74ff6ed40cb7be56787b 100644 (file)
@@ -281,7 +281,7 @@ write the following to do it::
    # containing the substring S.
    sublist = filter( lambda s, substring=S:
                         string.find(s, substring) != -1,
-                 L)
+                     L)
 
 Because of Python's scoping rules, a default argument is used so that the
 anonymous function created by the :keyword:`lambda` statement knows what
@@ -293,7 +293,7 @@ List comprehensions have the form::
 
    [ expression for expr in sequence1
                 for expr2 in sequence2 ...
-            for exprN in sequenceN
+                for exprN in sequenceN
                 if condition ]
 
 The :keyword:`for`...\ :keyword:`in` clauses contain the sequences to be
@@ -368,7 +368,7 @@ instance with an incremented value.
        def __init__(self, value):
            self.value = value
        def __iadd__(self, increment):
-       return Number( self.value + increment)
+           return Number( self.value + increment)
 
    n = Number(5)
    n += 3
@@ -852,13 +852,12 @@ the PyXML package::
    from distutils.core import setup, Extension
 
    expat_extension = Extension('xml.parsers.pyexpat',
-       define_macros = [('XML_NS', None)],
-       include_dirs = [ 'extensions/expat/xmltok',
-                        'extensions/expat/xmlparse' ],
-       sources = [ 'extensions/pyexpat.c',
-                   'extensions/expat/xmltok/xmltok.c',
-                   'extensions/expat/xmltok/xmlrole.c',
-                     ]
+        define_macros = [('XML_NS', None)],
+        include_dirs = [ 'extensions/expat/xmltok',
+                         'extensions/expat/xmlparse' ],
+        sources = [ 'extensions/pyexpat.c',
+                    'extensions/expat/xmltok/xmltok.c',
+                    'extensions/expat/xmltok/xmlrole.c', ]
           )
    setup (name = "PyXML", version = "0.5.4",
           ext_modules =[ expat_extension ] )
index 28ecb81ca0d76db644b7a2ebaea8b06434dfa6bf..ec435f71ba37ec43db25cbea62e60983558075a3 100644 (file)
@@ -295,7 +295,7 @@ will be used in methods to call a method in the superclass; for example,
 
    class D (B,C):
        def save (self):
-       # Call superclass .save()
+           # Call superclass .save()
            super(D, self).save()
            # Save D's private information here
            ...
index e6dccc59aab546271780d3e88603e5c18f2649b7..9e438ac7615037d282262b2d366ffb1a65146078 100644 (file)
@@ -396,10 +396,10 @@ single class called :class:`Popen`  whose constructor supports a number of
 different keyword arguments. ::
 
    class Popen(args, bufsize=0, executable=None,
-           stdin=None, stdout=None, stderr=None,
-           preexec_fn=None, close_fds=False, shell=False,
-           cwd=None, env=None, universal_newlines=False,
-           startupinfo=None, creationflags=0):
+               stdin=None, stdout=None, stderr=None,
+               preexec_fn=None, close_fds=False, shell=False,
+               cwd=None, env=None, universal_newlines=False,
+               startupinfo=None, creationflags=0):
 
 *args* is commonly a sequence of strings that will be the arguments to the
 program executed as the subprocess.  (If the *shell* argument is true, *args*
index 8f0b2a421c13a0664a2c625cbb528d3891f37378..457bef2b09e6be2d2a187204907e886ac14d2cc4 100644 (file)
@@ -586,30 +586,30 @@ multiple of 4.
 
 
     def factorial(queue, N):
-       "Compute a factorial."
-       # If N is a multiple of 4, this function will take much longer.
-       if (N % 4) == 0:
-           time.sleep(.05 * N/4)
+        "Compute a factorial."
+        # If N is a multiple of 4, this function will take much longer.
+        if (N % 4) == 0:
+            time.sleep(.05 * N/4)
 
-       # Calculate the result
-       fact = 1L
-       for i in range(1, N+1):
-           fact = fact * i
+        # Calculate the result
+        fact = 1L
+        for i in range(1, N+1):
+            fact = fact * i
 
-       # Put the result on the queue
-       queue.put(fact)
+        # Put the result on the queue
+        queue.put(fact)
 
     if __name__ == '__main__':
-       queue = Queue()
+        queue = Queue()
 
-       N = 5
+        N = 5
 
-       p = Process(target=factorial, args=(queue, N))
-       p.start()
-       p.join()
+        p = Process(target=factorial, args=(queue, N))
+        p.start()
+        p.join()
 
-       result = queue.get()
-       print 'Factorial', N, '=', result
+        result = queue.get()
+        print 'Factorial', N, '=', result
 
 A :class:`Queue` is used to communicate the input parameter *N* and
 the result.  The :class:`Queue` object is stored in a global variable.
@@ -630,12 +630,12 @@ across 5 worker processes and retrieve a list of results::
     from multiprocessing import Pool
 
     def factorial(N, dictionary):
-       "Compute a factorial."
-       ...
+        "Compute a factorial."
+        ...
     p = Pool(5)
     result = p.map(factorial, range(1, 1000, 10))
     for v in result:
-       print v
+        print v
 
 This produces the following output::
 
@@ -1885,9 +1885,9 @@ changes, or look through the Subversion logs for all the details.
      ('id', 'name', 'type', 'size')
 
      >>> var = var_type(1, 'frequency', 'int', 4)
-     >>> print var[0], var.id          # Equivalent
+     >>> print var[0], var.id    # Equivalent
      1 1
-     >>> print var[2], var.type          # Equivalent
+     >>> print var[2], var.type  # Equivalent
      int int
      >>> var._asdict()
      {'size': 4, 'type': 'int', 'id': 1, 'name': 'frequency'}
@@ -2046,8 +2046,8 @@ changes, or look through the Subversion logs for all the details.
 
      >>> list(itertools.product([1,2,3], [4,5,6]))
      [(1, 4), (1, 5), (1, 6),
-         (2, 4), (2, 5), (2, 6),
-         (3, 4), (3, 5), (3, 6)]
+      (2, 4), (2, 5), (2, 6),
+      (3, 4), (3, 5), (3, 6)]
 
   The optional *repeat* keyword argument is used for taking the
   product of an iterable or a set of iterables with themselves,