diff options
author | Benjamin Peterson <benjamin@python.org> | 2009-04-05 19:13:16 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2009-04-05 19:13:16 (GMT) |
commit | d23f8224e9bce36f231b6fcb3e3053fc1af27c6f (patch) | |
tree | 5745b7c2eddb55b47ef3b35d429c3c0225d3badf /Doc/library | |
parent | 5b9082a9591380cbfd961ef5273df36da5b1302a (diff) | |
download | cpython-d23f8224e9bce36f231b6fcb3e3053fc1af27c6f.zip cpython-d23f8224e9bce36f231b6fcb3e3053fc1af27c6f.tar.gz cpython-d23f8224e9bce36f231b6fcb3e3053fc1af27c6f.tar.bz2 |
Merged revisions 70712,70714,70764-70765,70769-70771,70773,70776-70777,70788-70789,70824,70828,70832,70836,70842,70851,70855,70857,70866-70872,70883,70885,70893-70894,70896-70897,70903,70905-70907,70915,70927,70933,70951,70960,70962-70964,70998,71001,71006,71008,71010-71011,71019,71037,71056,71094,71101-71103,71106,71119,71123,71149-71150,71203,71212,71214-71217,71221,71240 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r70712 | benjamin.peterson | 2009-03-30 10:15:38 -0500 (Mon, 30 Mar 2009) | 1 line
don't rely on the order dict repr #5605
........
r70714 | brett.cannon | 2009-03-30 10:20:53 -0500 (Mon, 30 Mar 2009) | 1 line
Add an entry to developers.txt.
........
r70764 | martin.v.loewis | 2009-03-30 17:06:33 -0500 (Mon, 30 Mar 2009) | 2 lines
Add several VM developers.
........
r70765 | georg.brandl | 2009-03-30 17:09:34 -0500 (Mon, 30 Mar 2009) | 1 line
#5199: make warning about vars() assignment more visible.
........
r70769 | andrew.kuchling | 2009-03-30 17:29:53 -0500 (Mon, 30 Mar 2009) | 1 line
Remove comment
........
r70770 | andrew.kuchling | 2009-03-30 17:30:20 -0500 (Mon, 30 Mar 2009) | 1 line
Add several items and placeholders
........
r70771 | andrew.kuchling | 2009-03-30 17:31:11 -0500 (Mon, 30 Mar 2009) | 1 line
Many edits
........
r70773 | georg.brandl | 2009-03-30 17:43:00 -0500 (Mon, 30 Mar 2009) | 1 line
#5039: make it clear that the impl. note refers to CPython.
........
r70776 | andrew.kuchling | 2009-03-30 18:08:24 -0500 (Mon, 30 Mar 2009) | 1 line
typo fix
........
r70777 | andrew.kuchling | 2009-03-30 18:09:46 -0500 (Mon, 30 Mar 2009) | 1 line
Add more items
........
r70788 | andrew.kuchling | 2009-03-30 20:21:01 -0500 (Mon, 30 Mar 2009) | 1 line
Add various items
........
r70789 | georg.brandl | 2009-03-30 20:25:15 -0500 (Mon, 30 Mar 2009) | 1 line
Fix a wrong struct field assignment (docstring as closure).
........
r70824 | georg.brandl | 2009-03-31 10:43:20 -0500 (Tue, 31 Mar 2009) | 1 line
#5519: remove reference to Kodos, which seems dead.
........
r70828 | georg.brandl | 2009-03-31 10:50:16 -0500 (Tue, 31 Mar 2009) | 1 line
#5581: fget argument of abstractproperty is optional as well.
........
r70832 | georg.brandl | 2009-03-31 11:31:11 -0500 (Tue, 31 Mar 2009) | 1 line
#1386675: specify WindowsError as the exception, because it has a winerror attribute that EnvironmentError doesnt have.
........
r70836 | georg.brandl | 2009-03-31 11:50:25 -0500 (Tue, 31 Mar 2009) | 1 line
#5417: replace references to undocumented functions by ones to documented functions.
........
r70842 | georg.brandl | 2009-03-31 12:13:06 -0500 (Tue, 31 Mar 2009) | 1 line
#970783: document PyObject_Generic[GS]etAttr.
........
r70851 | georg.brandl | 2009-03-31 13:26:55 -0500 (Tue, 31 Mar 2009) | 1 line
#837577: note cryptic return value of spawn*e on invalid env dicts.
........
r70855 | georg.brandl | 2009-03-31 13:30:37 -0500 (Tue, 31 Mar 2009) | 1 line
#5245: note that PyRun_SimpleString doesnt return on SystemExit.
........
r70857 | georg.brandl | 2009-03-31 13:33:10 -0500 (Tue, 31 Mar 2009) | 1 line
#5227: note that Py_Main doesnt return on SystemExit.
........
r70866 | georg.brandl | 2009-03-31 14:06:57 -0500 (Tue, 31 Mar 2009) | 1 line
#4882: document named group behavior a bit better.
........
r70867 | georg.brandl | 2009-03-31 14:10:35 -0500 (Tue, 31 Mar 2009) | 1 line
#1096310: document usage of sys.__std*__ a bit better.
........
r70868 | georg.brandl | 2009-03-31 14:12:17 -0500 (Tue, 31 Mar 2009) | 1 line
#5190: export make_option in __all__.
........
r70869 | georg.brandl | 2009-03-31 14:14:42 -0500 (Tue, 31 Mar 2009) | 1 line
Fix-up unwanted change.
........
r70870 | georg.brandl | 2009-03-31 14:26:24 -0500 (Tue, 31 Mar 2009) | 1 line
#4411: document mro() and __mro__. (I hope I got it right.)
........
r70871 | georg.brandl | 2009-03-31 14:30:56 -0500 (Tue, 31 Mar 2009) | 1 line
#5618: fix typo.
........
r70872 | r.david.murray | 2009-03-31 14:31:17 -0500 (Tue, 31 Mar 2009) | 3 lines
Delete out-of-date and little-known README from the test
directory by consensus of devs at pycon sprint.
........
r70883 | georg.brandl | 2009-03-31 15:41:08 -0500 (Tue, 31 Mar 2009) | 1 line
#1674032: return value of flag from Event.wait(). OKed by Guido.
........
r70885 | tarek.ziade | 2009-03-31 15:48:31 -0500 (Tue, 31 Mar 2009) | 1 line
using log.warn for sys.stderr
........
r70893 | georg.brandl | 2009-03-31 15:56:32 -0500 (Tue, 31 Mar 2009) | 1 line
#1530012: move TQS section before raw strings.
........
r70894 | benjamin.peterson | 2009-03-31 16:06:30 -0500 (Tue, 31 Mar 2009) | 1 line
take the usual lock precautions around _active_limbo_lock
........
r70896 | georg.brandl | 2009-03-31 16:15:33 -0500 (Tue, 31 Mar 2009) | 1 line
#5598: document DocFileSuite *args argument.
........
r70897 | benjamin.peterson | 2009-03-31 16:34:42 -0500 (Tue, 31 Mar 2009) | 1 line
fix Thread.ident when it is the main thread or a dummy thread #5632
........
r70903 | georg.brandl | 2009-03-31 16:45:18 -0500 (Tue, 31 Mar 2009) | 1 line
#1676135: remove trailing slashes from --prefix argument.
........
r70905 | georg.brandl | 2009-03-31 17:03:40 -0500 (Tue, 31 Mar 2009) | 1 line
#5563: more documentation for bdist_msi.
........
r70906 | georg.brandl | 2009-03-31 17:11:53 -0500 (Tue, 31 Mar 2009) | 1 line
#1651995: fix _convert_ref for non-ASCII characters.
........
r70907 | georg.brandl | 2009-03-31 17:18:19 -0500 (Tue, 31 Mar 2009) | 1 line
#3427: document correct return type for urlopen().info().
........
r70915 | georg.brandl | 2009-03-31 17:40:16 -0500 (Tue, 31 Mar 2009) | 1 line
#5018: remove confusing paragraph.
........
r70927 | georg.brandl | 2009-03-31 18:01:27 -0500 (Tue, 31 Mar 2009) | 1 line
Dont shout to users.
........
r70933 | georg.brandl | 2009-03-31 19:04:33 -0500 (Tue, 31 Mar 2009) | 2 lines
Issue #5635: Fix running test_sys with tracing enabled.
........
r70951 | georg.brandl | 2009-04-01 09:02:27 -0500 (Wed, 01 Apr 2009) | 1 line
Add Maksim, who worked on several issues at the sprint.
........
r70960 | jesse.noller | 2009-04-01 11:42:19 -0500 (Wed, 01 Apr 2009) | 1 line
Issue 3270: document Listener address restrictions on windows
........
r70962 | brett.cannon | 2009-04-01 12:07:16 -0500 (Wed, 01 Apr 2009) | 2 lines
Ron DuPlain was given commit privileges at PyCon 2009 to work on 3to2.
........
r70963 | georg.brandl | 2009-04-01 12:46:01 -0500 (Wed, 01 Apr 2009) | 1 line
#5655: fix docstring oversight.
........
r70964 | brett.cannon | 2009-04-01 12:52:13 -0500 (Wed, 01 Apr 2009) | 2 lines
Paul Kippes was given commit privileges to work on 3to2.
........
r70998 | georg.brandl | 2009-04-01 16:54:21 -0500 (Wed, 01 Apr 2009) | 1 line
In Pdb, stop assigning values to __builtin__._ which interferes with the one commonly installed by gettext.
........
r71001 | brett.cannon | 2009-04-01 18:01:12 -0500 (Wed, 01 Apr 2009) | 3 lines
Add my initials to Misc/developers.txt. Names are now sorted by number of
characters in the person's name.
........
r71006 | georg.brandl | 2009-04-01 18:32:17 -0500 (Wed, 01 Apr 2009) | 1 line
Cache the f_locals dict of the current frame, since every access to frame.f_locals overrides its contents with the real locals which undoes modifications made by the debugging user.
........
r71008 | andrew.kuchling | 2009-04-01 19:02:14 -0500 (Wed, 01 Apr 2009) | 1 line
Typo fix
........
r71010 | benjamin.peterson | 2009-04-01 19:11:52 -0500 (Wed, 01 Apr 2009) | 1 line
fix markup
........
r71011 | benjamin.peterson | 2009-04-01 19:12:47 -0500 (Wed, 01 Apr 2009) | 1 line
this should be :noindex:
........
r71019 | georg.brandl | 2009-04-01 21:00:01 -0500 (Wed, 01 Apr 2009) | 1 line
Fix test_doctest, missed two assignments to curframe.
........
r71037 | r.david.murray | 2009-04-01 23:34:04 -0500 (Wed, 01 Apr 2009) | 6 lines
Clarify that datetime strftime does not produce leap seconds and datetime
strptime does not accept it in the strftime behavior section of the
datetime docs.
Closes issue 2568.
........
r71056 | georg.brandl | 2009-04-02 12:43:07 -0500 (Thu, 02 Apr 2009) | 2 lines
Actually the displayhook should print the repr.
........
r71094 | vinay.sajip | 2009-04-03 05:23:18 -0500 (Fri, 03 Apr 2009) | 1 line
Added warning about logging use from asynchronous signal handlers.
........
r71101 | andrew.kuchling | 2009-04-03 16:43:00 -0500 (Fri, 03 Apr 2009) | 1 line
Add some items
........
r71102 | andrew.kuchling | 2009-04-03 16:44:49 -0500 (Fri, 03 Apr 2009) | 1 line
Fix 'the the'; grammar fix
........
r71103 | andrew.kuchling | 2009-04-03 16:45:29 -0500 (Fri, 03 Apr 2009) | 1 line
Fix 'the the' duplication
........
r71106 | vinay.sajip | 2009-04-03 16:58:16 -0500 (Fri, 03 Apr 2009) | 1 line
Clarified warning about logging use from asynchronous signal handlers.
........
r71119 | raymond.hettinger | 2009-04-04 00:37:47 -0500 (Sat, 04 Apr 2009) | 1 line
Add helpful link.
........
r71123 | r.david.murray | 2009-04-04 01:39:56 -0500 (Sat, 04 Apr 2009) | 2 lines
Fix error in description of 'oct' (issue 5678).
........
r71149 | georg.brandl | 2009-04-04 08:42:39 -0500 (Sat, 04 Apr 2009) | 1 line
#5642: clarify map() compatibility to the builtin.
........
r71150 | georg.brandl | 2009-04-04 08:45:49 -0500 (Sat, 04 Apr 2009) | 1 line
#5601: clarify that webbrowser is not meant for file names.
........
r71203 | benjamin.peterson | 2009-04-04 18:46:34 -0500 (Sat, 04 Apr 2009) | 1 line
note how using iter* are unsafe while mutating and document iter(dict)
........
r71212 | georg.brandl | 2009-04-05 05:24:20 -0500 (Sun, 05 Apr 2009) | 1 line
#1742837: expand HTTP server docs, and fix SocketServer ones to document methods as methods, not functions.
........
r71214 | georg.brandl | 2009-04-05 05:29:57 -0500 (Sun, 05 Apr 2009) | 1 line
Normalize spelling of Mac OS X.
........
r71215 | georg.brandl | 2009-04-05 05:32:26 -0500 (Sun, 05 Apr 2009) | 1 line
Avoid sure signs of a diseased mind.
........
r71216 | georg.brandl | 2009-04-05 05:41:02 -0500 (Sun, 05 Apr 2009) | 1 line
#1718017: document the relation of os.path and the posixpath, ntpath etc. modules better.
........
r71217 | georg.brandl | 2009-04-05 05:48:47 -0500 (Sun, 05 Apr 2009) | 1 line
#1726172: dont raise an unexpected IndexError if a voidresp() call has an empty response.
........
r71221 | vinay.sajip | 2009-04-05 06:06:24 -0500 (Sun, 05 Apr 2009) | 1 line
Issue #5695: Moved logging.captureWarnings() call inside with statement in WarningsTest.test_warnings.
........
r71240 | georg.brandl | 2009-04-05 09:40:06 -0500 (Sun, 05 Apr 2009) | 1 line
#5370: doc update about unpickling objects with custom __getattr__ etc. methods.
........
Diffstat (limited to 'Doc/library')
-rw-r--r-- | Doc/library/abc.rst | 3 | ||||
-rw-r--r-- | Doc/library/doctest.rst | 62 | ||||
-rw-r--r-- | Doc/library/functions.rst | 6 | ||||
-rw-r--r-- | Doc/library/itertools.rst | 2 | ||||
-rw-r--r-- | Doc/library/logging.rst | 4 | ||||
-rw-r--r-- | Doc/library/multiprocessing.rst | 12 | ||||
-rw-r--r-- | Doc/library/os.path.rst | 24 | ||||
-rw-r--r-- | Doc/library/os.rst | 13 | ||||
-rw-r--r-- | Doc/library/pdb.rst | 2 | ||||
-rw-r--r-- | Doc/library/pickle.rst | 8 | ||||
-rw-r--r-- | Doc/library/re.rst | 24 | ||||
-rw-r--r-- | Doc/library/shelve.rst | 2 | ||||
-rw-r--r-- | Doc/library/socketserver.rst | 61 | ||||
-rw-r--r-- | Doc/library/ssl.rst | 2 | ||||
-rw-r--r-- | Doc/library/stdtypes.rst | 28 | ||||
-rw-r--r-- | Doc/library/sys.rst | 20 | ||||
-rw-r--r-- | Doc/library/threading.rst | 12 | ||||
-rw-r--r-- | Doc/library/tkinter.ttk.rst | 145 | ||||
-rw-r--r-- | Doc/library/urllib.request.rst | 2 | ||||
-rw-r--r-- | Doc/library/webbrowser.rst | 4 | ||||
-rw-r--r-- | Doc/library/winreg.rst | 21 |
21 files changed, 266 insertions, 191 deletions
diff --git a/Doc/library/abc.rst b/Doc/library/abc.rst index 31bd896..29d37f3 100644 --- a/Doc/library/abc.rst +++ b/Doc/library/abc.rst @@ -132,7 +132,7 @@ It also provides the following decorators: A class that has a metaclass derived from :class:`ABCMeta` cannot be instantiated unless all of its abstract methods and properties are overridden. - The abstract methods can be called using any of the the normal 'super' call + The abstract methods can be called using any of the normal 'super' call mechanisms. Dynamically adding abstract methods to a class, or attempting to modify the @@ -184,6 +184,7 @@ It also provides the following decorators: def setx(self, value): ... x = abstractproperty(getx, setx) + .. rubric:: Footnotes .. [#] C++ programmers should note that Python's virtual base class diff --git a/Doc/library/doctest.rst b/Doc/library/doctest.rst index 133a506..c991495 100644 --- a/Doc/library/doctest.rst +++ b/Doc/library/doctest.rst @@ -905,7 +905,7 @@ There are two main functions for creating :class:`unittest.TestSuite` instances from text files and modules with doctests: -.. function:: DocFileSuite([module_relative][, package][, setUp][, tearDown][, globs][, optionflags][, parser][, encoding]) +.. function:: DocFileSuite(*paths, [module_relative][, package][, setUp][, tearDown][, globs][, optionflags][, parser][, encoding]) Convert doctest tests from one or more text files to a :class:`unittest.TestSuite`. @@ -923,45 +923,47 @@ from text files and modules with doctests: Optional argument *module_relative* specifies how the filenames in *paths* should be interpreted: - * If *module_relative* is ``True`` (the default), then each filename specifies - an OS-independent module-relative path. By default, this path is relative to - the calling module's directory; but if the *package* argument is specified, then - it is relative to that package. To ensure OS-independence, each filename should - use ``/`` characters to separate path segments, and may not be an absolute path - (i.e., it may not begin with ``/``). - - * If *module_relative* is ``False``, then each filename specifies an OS-specific - path. The path may be absolute or relative; relative paths are resolved with - respect to the current working directory. - - Optional argument *package* is a Python package or the name of a Python package - whose directory should be used as the base directory for module-relative - filenames. If no package is specified, then the calling module's directory is - used as the base directory for module-relative filenames. It is an error to - specify *package* if *module_relative* is ``False``. - - Optional argument *setUp* specifies a set-up function for the test suite. This - is called before running the tests in each file. The *setUp* function will be - passed a :class:`DocTest` object. The setUp function can access the test - globals as the *globs* attribute of the test passed. - - Optional argument *tearDown* specifies a tear-down function for the test suite. - This is called after running the tests in each file. The *tearDown* function + * If *module_relative* is ``True`` (the default), then each filename in + *paths* specifies an OS-independent module-relative path. By default, this + path is relative to the calling module's directory; but if the *package* + argument is specified, then it is relative to that package. To ensure + OS-independence, each filename should use ``/`` characters to separate path + segments, and may not be an absolute path (i.e., it may not begin with + ``/``). + + * If *module_relative* is ``False``, then each filename in *paths* specifies + an OS-specific path. The path may be absolute or relative; relative paths + are resolved with respect to the current working directory. + + Optional argument *package* is a Python package or the name of a Python + package whose directory should be used as the base directory for + module-relative filenames in *paths*. If no package is specified, then the + calling module's directory is used as the base directory for module-relative + filenames. It is an error to specify *package* if *module_relative* is + ``False``. + + Optional argument *setUp* specifies a set-up function for the test suite. + This is called before running the tests in each file. The *setUp* function will be passed a :class:`DocTest` object. The setUp function can access the test globals as the *globs* attribute of the test passed. + Optional argument *tearDown* specifies a tear-down function for the test + suite. This is called after running the tests in each file. The *tearDown* + function will be passed a :class:`DocTest` object. The setUp function can + access the test globals as the *globs* attribute of the test passed. + Optional argument *globs* is a dictionary containing the initial global variables for the tests. A new copy of this dictionary is created for each test. By default, *globs* is a new empty dictionary. Optional argument *optionflags* specifies the default doctest options for the tests, created by or-ing together individual option flags. See section - :ref:`doctest-options`. See function :func:`set_unittest_reportflags` below for - a better way to set reporting options. + :ref:`doctest-options`. See function :func:`set_unittest_reportflags` below + for a better way to set reporting options. - Optional argument *parser* specifies a :class:`DocTestParser` (or subclass) that - should be used to extract tests from the files. It defaults to a normal parser - (i.e., ``DocTestParser()``). + Optional argument *parser* specifies a :class:`DocTestParser` (or subclass) + that should be used to extract tests from the files. It defaults to a normal + parser (i.e., ``DocTestParser()``). Optional argument *encoding* specifies an encoding that should be used to convert the file to unicode. diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst index 7fd39b7..d9d7874 100644 --- a/Doc/library/functions.rst +++ b/Doc/library/functions.rst @@ -1163,9 +1163,11 @@ are always available. They are listed here in alphabetical order. Without arguments, return a dictionary corresponding to the current local symbol table. With a module, class or class instance object as argument (or anything else that has a :attr:`__dict__` attribute), returns a dictionary corresponding - to the object's symbol table. The returned dictionary should not be modified: - the effects on the corresponding symbol table are undefined. [#]_ + to the object's symbol table. + .. warning:: + The returned dictionary should not be modified: + the effects on the corresponding symbol table are undefined. [#]_ .. function:: zip(*iterables) diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index dca2315..2cfc779 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -207,7 +207,7 @@ loops that truncate the stream. Make an iterator that filters elements from *data* returning only those that have a corresponding element in *selectors* that evaluates to ``True``. - Stops when either the *data* or *selectors* iterables have been exhausted. + Stops when either the *data* or *selectors* iterables has been exhausted. Equivalent to:: def compress(data, selectors): diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst index 6e88b70..5dc4af3 100644 --- a/Doc/library/logging.rst +++ b/Doc/library/logging.rst @@ -2290,6 +2290,10 @@ needing to be done by its clients. It achieves this though using threading locks; there is one lock to serialize access to the module's shared data, and each handler also creates a lock to serialize access to its underlying I/O. +If you are implementing asynchronous signal handlers using the :mod:`signal` +module, you may not be able to use logging from within such handlers. This is +because lock implementations in the :mod:`threading` module are not always +re-entrant, and so cannot be invoked from such signal handlers. Configuration ------------- diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst index f3dd23e..7e828b6 100644 --- a/Doc/library/multiprocessing.rst +++ b/Doc/library/multiprocessing.rst @@ -1537,8 +1537,8 @@ with the :class:`Pool` class. .. method:: map(func, iterable[, chunksize]) - A parallel equivalent of the :func:`map` builtin function, collecting the - result in a list. It blocks till the whole result is ready. + A parallel equivalent of the :func:`map` builtin function (it supports only + one *iterable* argument though). It blocks till the result is ready. This method chops the iterable into a number of chunks which it submits to the process pool as separate tasks. The (approximate) size of these @@ -1697,6 +1697,12 @@ authentication* using the :mod:`hmac` module. *address* is the address to be used by the bound socket or named pipe of the listener object. + .. note:: + + If an address of '0.0.0.0' is used, the address will not be a connectable + end point on Windows. If you require a connectable end-point, + you should use '127.0.0.1'. + *family* is the type of socket (or named pipe) to use. This can be one of the strings ``'AF_INET'`` (for a TCP socket), ``'AF_UNIX'`` (for a Unix domain socket) or ``'AF_PIPE'`` (for a Windows named pipe). Of these only @@ -1839,7 +1845,7 @@ return value of ``current_process().authkey`` is used (see any :class:`~multiprocessing.Process` object that the current process creates. This means that (by default) all processes of a multi-process program will share a single authentication key which can be used when setting up connections -between the themselves. +between themselves. Suitable authentication keys can also be generated by using :func:`os.urandom`. diff --git a/Doc/library/os.path.rst b/Doc/library/os.path.rst index 4fce263..d04fd09 100644 --- a/Doc/library/os.path.rst +++ b/Doc/library/os.path.rst @@ -1,11 +1,9 @@ - :mod:`os.path` --- Common pathname manipulations ================================================ .. module:: os.path :synopsis: Operations on pathnames. - .. index:: single: path; operations This module implements some useful functions on pathnames. To read or @@ -31,6 +29,22 @@ applications should use string objects to access all files. :func:`splitunc` and :func:`ismount` do handle them correctly. +.. note:: + + Since different operating systems have different path name conventions, there + are several versions of this module in the standard library. The + :mod:`os.path` module is always the path module suitable for the operating + system Python is running on, and therefore usable for local paths. However, + you can also import and use the individual modules if you want to manipulate + a path that is *always* in one of the different formats. They all have the + same interface: + + * :mod:`posixpath` for UNIX-style paths + * :mod:`ntpath` for Windows paths + * :mod:`macpath` for old-style MacOS paths + * :mod:`os2emxpath` for OS/2 EMX paths + + .. function:: abspath(path) Return a normalized absolutized version of the pathname *path*. On most @@ -189,9 +203,9 @@ applications should use string objects to access all files. .. function:: normcase(path) - Normalize the case of a pathname. On Unix and MacOSX, this returns the path unchanged; on - case-insensitive filesystems, it converts the path to lowercase. On Windows, it - also converts forward slashes to backward slashes. + Normalize the case of a pathname. On Unix and Mac OS X, this returns the + path unchanged; on case-insensitive filesystems, it converts the path to + lowercase. On Windows, it also converts forward slashes to backward slashes. .. function:: normpath(path) diff --git a/Doc/library/os.rst b/Doc/library/os.rst index fc62b0b..c686baf 100644 --- a/Doc/library/os.rst +++ b/Doc/library/os.rst @@ -51,15 +51,6 @@ the :mod:`os` module, but using them is of course a threat to portability! ``'ce'``, ``'java'``. -.. data:: path - - The corresponding operating system dependent standard module for pathname - operations, such as :mod:`posixpath` or :mod:`ntpath`. Thus, given the proper - imports, ``os.path.split(file)`` is equivalent to but more portable than - ``posixpath.split(file)``. Note that this is also an importable module: it may - be imported directly as :mod:`os.path`. - - .. _os-procinfo: Process Parameters @@ -1491,7 +1482,9 @@ written in Python, such as a mail server's external command delivery program. which is used to define the environment variables for the new process (they are used instead of the current process' environment); the functions :func:`spawnl`, :func:`spawnlp`, :func:`spawnv`, and :func:`spawnvp` all cause - the new process to inherit the environment of the current process. + the new process to inherit the environment of the current process. Note that + keys and values in the *env* dictionary must be strings; invalid keys or + values will cause the function to fail, with a return value of ``127``. As an example, the following calls to :func:`spawnlp` and :func:`spawnvpe` are equivalent:: diff --git a/Doc/library/pdb.rst b/Doc/library/pdb.rst index c7b34ab..63ade97 100644 --- a/Doc/library/pdb.rst +++ b/Doc/library/pdb.rst @@ -262,7 +262,7 @@ n(ext) full speed, only stopping at the next line in the current function.) unt(il) - Continue execution until the line with the the line number greater than the + Continue execution until the line with the line number greater than the current one is reached or when returning from current frame. r(eturn) diff --git a/Doc/library/pickle.rst b/Doc/library/pickle.rst index cd50d11..bb0da80 100644 --- a/Doc/library/pickle.rst +++ b/Doc/library/pickle.rst @@ -436,6 +436,14 @@ items are assigned to the new instance's dictionary. Refer to the section :ref:`pickle-state` for more information about how to use the methods :meth:`__getstate__` and :meth:`__setstate__`. +.. note:: + At unpickling time, some methods like :meth:`__getattr__`, + :meth:`__getattribute__`, or :meth:`__setattr__` may be called upon the + instance. In case those methods rely on some internal invariant being + true, the type should implement either :meth:`__getinitargs__` or + :meth:`__getnewargs__` to establish such an invariant; otherwise, neither + :meth:`__new__` nor :meth:`__init__` will be called. + .. index:: pair: copy; protocol single: __reduce__() (copy protocol) diff --git a/Doc/library/re.rst b/Doc/library/re.rst index 0dbd0e2..fade6ec 100644 --- a/Doc/library/re.rst +++ b/Doc/library/re.rst @@ -8,10 +8,9 @@ .. sectionauthor:: Andrew M. Kuchling <amk@amk.ca> - - This module provides regular expression matching operations similar to -those found in Perl. The :mod:`re` module is always available. +those found in Perl. Both patterns and strings to be searched can be +Unicode strings as well as 8-bit strings. Both patterns and strings to be searched can be Unicode strings as well as 8-bit strings. However, Unicode strings and 8-bit strings cannot be mixed: @@ -47,9 +46,6 @@ fine-tuning parameters. second edition of the book no longer covers Python at all, but the first edition covered writing good regular expression patterns in great detail. - `Kodos <http://kodos.sf.net/>`_ - is a graphical regular expression debugger written in Python. - .. _re-syntax: @@ -241,16 +237,18 @@ The special characters are: ``(?P<name>...)`` Similar to regular parentheses, but the substring matched by the group is - accessible via the symbolic group name *name*. Group names must be valid Python - identifiers, and each group name must be defined only once within a regular - expression. A symbolic group is also a numbered group, just as if the group - were not named. So the group named 'id' in the example below can also be - referenced as the numbered group 1. + accessible within the rest of the regular expression via the symbolic group + name *name*. Group names must be valid Python identifiers, and each group + name must be defined only once within a regular expression. A symbolic group + is also a numbered group, just as if the group were not named. So the group + named ``id`` in the example below can also be referenced as the numbered group + ``1``. For example, if the pattern is ``(?P<id>[a-zA-Z_]\w*)``, the group can be referenced by its name in arguments to methods of match objects, such as - ``m.group('id')`` or ``m.end('id')``, and also by name in pattern text (for - example, ``(?P=id)``) and replacement text (such as ``\g<id>``). + ``m.group('id')`` or ``m.end('id')``, and also by name in the regular + expression itself (using ``(?P=id)``) and replacement text given to + ``.sub()`` (using ``\g<id>``). ``(?P=name)`` Matches whatever text was matched by the earlier group named *name*. diff --git a/Doc/library/shelve.rst b/Doc/library/shelve.rst index a023504..8121004 100644 --- a/Doc/library/shelve.rst +++ b/Doc/library/shelve.rst @@ -141,7 +141,7 @@ object):: # as d was opened WITHOUT writeback=True, beware: d['xx'] = range(4) # this works as expected, but... - d['xx'].append(5) # *this doesn't!* -- d['xx'] is STILL range(4)!!! + d['xx'].append(5) # *this doesn't!* -- d['xx'] is STILL range(4)! # having opened d without writeback=True, you need to code carefully: temp = d['xx'] # extracts the copy diff --git a/Doc/library/socketserver.rst b/Doc/library/socketserver.rst index f82f538..9e0e926 100644 --- a/Doc/library/socketserver.rst +++ b/Doc/library/socketserver.rst @@ -122,15 +122,21 @@ another way to manage this. Server Objects -------------- +.. class:: BaseServer -.. function:: fileno() + This is the superclass of all Server objects in the module. It defines the + interface, given below, but does not implement most of the methods, which is + done in subclasses. + + +.. method:: BaseServer.fileno() Return an integer file descriptor for the socket on which the server is listening. This function is most commonly passed to :func:`select.select`, to allow monitoring multiple servers in the same process. -.. function:: handle_request() +.. method:: BaseServer.handle_request() Process a single request. This function calls the following methods in order: :meth:`get_request`, :meth:`verify_request`, and @@ -141,30 +147,30 @@ Server Objects will return. -.. function:: serve_forever(poll_interval=0.5) +.. method:: BaseServer.serve_forever(poll_interval=0.5) Handle requests until an explicit :meth:`shutdown` request. Polls for shutdown every *poll_interval* seconds. -.. function:: shutdown() +.. method:: BaseServer.shutdown() Tells the :meth:`serve_forever` loop to stop and waits until it does. -.. data:: address_family +.. attribute:: BaseServer.address_family The family of protocols to which the server's socket belongs. Common examples are :const:`socket.AF_INET` and :const:`socket.AF_UNIX`. -.. data:: RequestHandlerClass +.. attribute:: BaseServer.RequestHandlerClass The user-provided request handler class; an instance of this class is created for each request. -.. data:: server_address +.. attribute:: BaseServer.server_address The address on which the server is listening. The format of addresses varies depending on the protocol family; see the documentation for the socket module @@ -172,22 +178,22 @@ Server Objects the address, and an integer port number: ``('127.0.0.1', 80)``, for example. -.. data:: socket +.. attribute:: BaseServer.socket The socket object on which the server will listen for incoming requests. + The server classes support the following class variables: .. XXX should class variables be covered before instance variables, or vice versa? - -.. data:: allow_reuse_address +.. attribute:: BaseServer.allow_reuse_address Whether the server will allow the reuse of an address. This defaults to :const:`False`, and can be set in subclasses to change the policy. -.. data:: request_queue_size +.. attribute:: BaseServer.request_queue_size The size of the request queue. If it takes a long time to process a single request, any requests that arrive while the server is busy are placed into a @@ -196,17 +202,19 @@ The server classes support the following class variables: value is usually 5, but this can be overridden by subclasses. -.. data:: socket_type +.. attribute:: BaseServer.socket_type The type of socket used by the server; :const:`socket.SOCK_STREAM` and :const:`socket.SOCK_DGRAM` are two common values. -.. data:: timeout + +.. attribute:: BaseServer.timeout Timeout duration, measured in seconds, or :const:`None` if no timeout is desired. If :meth:`handle_request` receives no incoming requests within the timeout period, the :meth:`handle_timeout` method is called. + There are various server methods that can be overridden by subclasses of base server classes like :class:`TCPServer`; these methods aren't useful to external users of the server object. @@ -214,27 +222,27 @@ users of the server object. .. XXX should the default implementations of these be documented, or should it be assumed that the user will look at socketserver.py? - -.. function:: finish_request() +.. method:: BaseServer.finish_request() Actually processes the request by instantiating :attr:`RequestHandlerClass` and calling its :meth:`handle` method. -.. function:: get_request() +.. method:: BaseServer.get_request() Must accept a request from the socket, and return a 2-tuple containing the *new* socket object to be used to communicate with the client, and the client's address. -.. function:: handle_error(request, client_address) +.. method:: BaseServer.handle_error(request, client_address) This function is called if the :attr:`RequestHandlerClass`'s :meth:`handle` method raises an exception. The default action is to print the traceback to standard output and continue handling further requests. -.. function:: handle_timeout() + +.. method:: BaseServer.handle_timeout() This function is called when the :attr:`timeout` attribute has been set to a value other than :const:`None` and the timeout period has passed with no @@ -242,31 +250,32 @@ users of the server object. to collect the status of any child processes that have exited, while in threading servers this method does nothing. -.. function:: process_request(request, client_address) + +.. method:: BaseServer.process_request(request, client_address) Calls :meth:`finish_request` to create an instance of the :attr:`RequestHandlerClass`. If desired, this function can create a new process or thread to handle the request; the :class:`ForkingMixIn` and :class:`ThreadingMixIn` classes do this. + .. Is there any point in documenting the following two functions? What would the purpose of overriding them be: initializing server instance variables, adding new network families? - -.. function:: server_activate() +.. method:: BaseServer.server_activate() Called by the server's constructor to activate the server. The default behavior just :meth:`listen`\ s to the server's socket. May be overridden. -.. function:: server_bind() +.. method:: BaseServer.server_bind() Called by the server's constructor to bind the socket to the desired address. May be overridden. -.. function:: verify_request(request, client_address) +.. method:: BaseServer.verify_request(request, client_address) Must return a Boolean value; if the value is :const:`True`, the request will be processed, and if it's :const:`False`, the request will be denied. This function @@ -282,14 +291,14 @@ override any of the following methods. A new instance is created for each request. -.. function:: finish() +.. method:: RequestHandler.finish() Called after the :meth:`handle` method to perform any clean-up actions required. The default implementation does nothing. If :meth:`setup` or :meth:`handle` raise an exception, this function will not be called. -.. function:: handle() +.. method:: RequestHandler.handle() This function must do all the work required to service a request. The default implementation does nothing. Several instance attributes are @@ -308,7 +317,7 @@ request. data or return data to the client. -.. function:: setup() +.. method:: RequestHandler.setup() Called before the :meth:`handle` method to perform any initialization actions required. The default implementation does nothing. diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst index 10c33f9..928a262 100644 --- a/Doc/library/ssl.rst +++ b/Doc/library/ssl.rst @@ -293,7 +293,7 @@ SSLSocket Objects If there is no certificate for the peer on the other end of the connection, returns ``None``. - If the the parameter ``binary_form`` is :const:`False`, and a + If the parameter ``binary_form`` is :const:`False`, and a certificate was received from the peer, this method returns a :class:`dict` instance. If the certificate was not validated, the dict is empty. If the certificate was validated, it returns a dict diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst index a51fb75..a8c3146 100644 --- a/Doc/library/stdtypes.rst +++ b/Doc/library/stdtypes.rst @@ -1834,6 +1834,11 @@ pairs within braces, for example: ``{'jack': 4098, 'sjoerd': 4127}`` or ``{4098: Equivalent to ``not key in d``. + .. describe:: iter(d) + + Return an iterator over the keys of the dictionary. This is a shortcut + for :meth:`iterkeys`. + .. method:: clear() Remove all items from the dictionary. @@ -1931,6 +1936,9 @@ support membership tests: using :func:`zip`: ``pairs = zip(d.values(), d.keys())``. Another way to create the same list is ``pairs = [(v, k) for (k, v) in d.items()]``. + Iterating views while adding or deleting entries in the dictionary will raise + a :exc:`RuntimeError`. + .. describe:: x in dictview Return ``True`` if *x* is in the underlying dictionary's keys, values or @@ -2666,10 +2674,26 @@ types, where they are relevant. Some of these are not reported by the The name of the class or type. +The following attributes are only supported by :term:`new-style class`\ es. + +.. attribute:: class.__mro__ + + This attribute is a tuple of classes that are considered when looking for + base classes during method resolution. + + +.. method:: class.mro() + + This method can be overridden by a metaclass to customize the method + resolution order for its instances. It is called at class instantiation, and + its result is stored in :attr:`__mro__`. + + .. method:: class.__subclasses__ - All classes keep a list of weak references to their immediate subclasses. - This method returns a list of all those references still alive. Example:: + Each new-style class keeps a list of weak references to its immediate + subclasses. This method returns a list of all those references still alive. + Example:: >>> int.__subclasses__() [<type 'bool'>] diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst index c29e7fe..29f3313 100644 --- a/Doc/library/sys.rst +++ b/Doc/library/sys.rst @@ -780,16 +780,20 @@ always available. __stderr__ These objects contain the original values of ``stdin``, ``stderr`` and - ``stdout`` at the start of the program. They are used during finalization, and - could be useful to restore the actual files to known working file objects in - case they have been overwritten with a broken object. + ``stdout`` at the start of the program. They are used during finalization, + and could be useful to print to the actual standard stream no matter if the + ``sys.std*`` object has been redirected. - .. note:: + It can also be used to restore the actual files to known working file objects + in case they have been overwritten with a broken object. However, the + preferred way to do this is to explicitly save the previous stream before + replacing it, and restore the saved object. - Under some conditions ``stdin``, ``stdout`` and ``stderr`` as well as the - original values ``__stdin__``, ``__stdout__`` and ``__stderr__`` can be - None. It is usually the case for Windows GUI apps that aren't connected to - a console and Python apps started with :program:`pythonw`. + .. note:: + Under some conditions ``stdin``, ``stdout`` and ``stderr`` as well as the + original values ``__stdin__``, ``__stdout__`` and ``__stderr__`` can be + None. It is usually the case for Windows GUI apps that aren't connected + to a console and Python apps started with :program:`pythonw`. .. data:: tracebacklimit diff --git a/Doc/library/threading.rst b/Doc/library/threading.rst index 6090568..12cf2e8 100644 --- a/Doc/library/threading.rst +++ b/Doc/library/threading.rst @@ -676,14 +676,20 @@ An event object manages an internal flag that can be set to true with the .. method:: Event.wait([timeout]) - Block until the internal flag is true. If the internal flag is true on entry, - return immediately. Otherwise, block until another thread calls :meth:`set` to - set the flag to true, or until the optional timeout occurs. + Block until the internal flag is true. If the internal flag is true on entry, + return immediately. Otherwise, block until another thread calls :meth:`set` + to set the flag to true, or until the optional timeout occurs. When the timeout argument is present and not ``None``, it should be a floating point number specifying a timeout for the operation in seconds (or fractions thereof). + This method returns the internal flag on exit, so it will always return + ``True`` except if a timeout is given and the operation times out. + + .. versionchanged:: 2.7 + Previously, the method always returned ``None``. + .. _timer-objects: diff --git a/Doc/library/tkinter.ttk.rst b/Doc/library/tkinter.ttk.rst index de4988a..69fc1bd 100644 --- a/Doc/library/tkinter.ttk.rst +++ b/Doc/library/tkinter.ttk.rst @@ -249,7 +249,7 @@ an exclamation point indicating that the bit is off. ttk.Widget ^^^^^^^^^^ -Besides the methods described below, the class :class:`ttk.Widget` supports the +Besides the methods described below, the :class:`ttk.Widget` supports the methods :meth:`tkinter.Widget.cget` and :meth:`tkinter.Widget.configure`. .. class:: Widget @@ -484,7 +484,7 @@ ttk.Notebook The tab will not be displayed, but the associated window remains managed by the notebook and its configuration remembered. Hidden tabs - may be restored with the add command. + may be restored with the :meth:`add` command. .. method:: identify(x, y) @@ -503,7 +503,7 @@ ttk.Notebook Inserts a pane at the specified position. - *pos* is either the string end, an integer index, or the name of a + *pos* is either the string "end", an integer index, or the name of a managed child. If *child* is already managed by the notebook, moves it to the specified position. @@ -523,7 +523,7 @@ ttk.Notebook Query or modify the options of the specific *tab_id*. - If *kw* is not given, returns a dict of the tab option values. If + If *kw* is not given, returns a dictionary of the tab option values. If *option* is specified, returns the value of that *option*. Otherwise, sets the options to the corresponding values. @@ -540,14 +540,14 @@ ttk.Notebook This will extend the bindings for the toplevel window containing the notebook as follows: - * Control-Tab: selects the tab following the currently selected one - * Shift-Control-Tab: selects the tab preceding the currently selected one + * Control-Tab: selects the tab following the currently selected one. + * Shift-Control-Tab: selects the tab preceding the currently selected one. * Alt-K: where K is the mnemonic (underlined) character of any tab, will select that tab. Multiple notebooks in a single toplevel may be enabled for traversal, including nested notebooks. However, notebook traversal only works - properly if all panes have as master the notebook they are in. + properly if all panes have the notebook they are in as master. Progressbar @@ -580,12 +580,12 @@ This widget accepts the following specific options: +----------+---------------------------------------------------------------+ | value | The current value of the progress bar. In "determinate" mode, | | | this represents the amount of work completed. In | - | | "indeterminate" mode, it is interpreted as modulo maximum; | + | | "indeterminate" mode, it is interpreted as modulo *maximum*; | | | that is, the progress bar completes one "cycle" when its value| - | | increases by maximum. | + | | increases by *maximum*. | +----------+---------------------------------------------------------------+ | variable | A name which is linked to the option value. If specified, the | - | | value of the progressbar is automatically set to the value of | + | | value of the progress bar is automatically set to the value of| | | this name whenever the latter is modified. | +----------+---------------------------------------------------------------+ | phase | Read-only option. The widget periodically increments the value| @@ -602,14 +602,14 @@ ttk.Progressbar .. method:: start([interval]) - Begin autoincrement mode: schedules a recurring timer even that calls + Begin autoincrement mode: schedules a recurring timer event that calls :meth:`Progressbar.step` every *interval* milliseconds. If omitted, *interval* defaults to 50 milliseconds. .. method:: step([amount]) - Increments progressbar's value by *amount*. + Increments the progress bar's value by *amount*. *amount* defaults to 1.0 if omitted. @@ -617,7 +617,7 @@ ttk.Progressbar .. method:: stop() Stop autoincrement mode: cancels any recurring timer event initiated by - :meth:`Progressbar.start` for this progressbar. + :meth:`Progressbar.start` for this progress bar. Separator @@ -626,7 +626,7 @@ Separator The :class:`ttk.Separator` widget displays a horizontal or vertical separator bar. -It has no other method besides the ones inherited from :class:`ttk.Widget`. +It has no other methods besides the ones inherited from :class:`ttk.Widget`. Options @@ -645,18 +645,18 @@ This widget accepts the following specific option: Sizegrip -------- -The :class:`ttk.Sizegrip` widget (also known as grow box) allows the user to +The :class:`ttk.Sizegrip` widget (also known as a grow box) allows the user to resize the containing toplevel window by pressing and dragging the grip. -This widget has no specific options neither specific methods, besides the +This widget has neither specific options nor specific methods, besides the ones inherited from :class:`ttk.Widget`. Platform-specific notes ^^^^^^^^^^^^^^^^^^^^^^^ -* On Mac OSX, toplevel windows automatically include a built-in size grip - by default. Adding a Sizegrip there is harmless, since the built-in +* On MacOS X, toplevel windows automatically include a built-in size grip + by default. Adding a :class:`Sizegrip` is harmless, since the built-in grip will just mask the widget. @@ -664,8 +664,8 @@ Bugs ^^^^ * If the containing toplevel's position was specified relative to the right - or bottom of the screen (e.g. ....), the Sizegrip widget will not resize - the window. + or bottom of the screen (e.g. ....), the :class:`Sizegrip` widget will + not resize the window. * This widget supports only "southeast" resizing. @@ -678,16 +678,16 @@ values. The data values are displayed in successive columns after the tree label. The order in which data values are displayed may be controlled by setting -the widget option displaycolumns. The tree widget can also display column +the widget option ``displaycolumns``. The tree widget can also display column headings. Columns may be accessed by number or symbolic names listed in the widget option columns. See `Column Identifiers`_. Each item is identified by an unique name. The widget will generate item IDs if they are not supplied by the caller. There is a distinguished root item, -named {}. The root item itself is not displayed; its children appear at the +named ``{}``. The root item itself is not displayed; its children appear at the top level of the hierarchy. -Each item also has a list of tags, which can be used to associate even bindings +Each item also has a list of tags, which can be used to associate event bindings with individual items and control the appearance of the item. The Treeview widget supports horizontal and vertical scrolling, according to @@ -698,7 +698,7 @@ the options described in `Scrollable Widget Options`_ and the methods Options ^^^^^^^ -This widget accepts the following specific option: +This widget accepts the following specific options: +----------------+--------------------------------------------------------+ | option | description | @@ -726,8 +726,8 @@ This widget accepts the following specific option: | | be changed. | | | | | | Note that the application code and tag bindings can set| - | | the selection however they wish, regardless the value | - | | of this option. | + | | the selection however they wish, regardless of the | + | | value of this option. | +----------------+--------------------------------------------------------+ | show | A list containing zero or more of the following values,| | | specifying which elements of the tree to display. | @@ -738,7 +738,7 @@ This widget accepts the following specific option: | | The default is "tree headings", i.e., show all | | | elements. | | | | - | | **Note**: Column #0 always refer to the tree column, | + | | **Note**: Column #0 always refers to the tree column, | | | even if show="tree" is not specified. | +----------------+--------------------------------------------------------+ @@ -858,11 +858,11 @@ ttk.Treeview .. method:: set_children(item, *newchildren) - Replaces item's child with *newchildren*. + Replaces *item*'s child with *newchildren*. - Children present in item that are not present in *newchildren* are - detached from tree. No items in *newchildren* may be an ancestor of - item. Note that not specifying *newchildren* results in detaching + Children present in *item* that are not present in *newchildren* are + detached from the tree. No items in *newchildren* may be an ancestor of + *item*. Note that not specifying *newchildren* results in detaching *item*'s children. @@ -877,16 +877,16 @@ ttk.Treeview The valid options/values are: * id - Returns the column name, this is a read-only option. + Returns the column name. This is a read-only option. * anchor: One of the standard Tk anchor values. Specifies how the text in this column should be aligned with respect to the cell. * minwidth: width The minimum width of the column in pixels. The treeview widget will - not make the column any smaller than the specified by this option when + not make the column any smaller than specified by this option when the widget is resized or the user drags a column. * stretch: True/False - Specifies wheter or not the column's width should be adjusted when + Specifies whether the column's width should be adjusted when the widget is resized. * width: width The width of the column in pixels. @@ -912,8 +912,7 @@ ttk.Treeview .. method:: exists(item) - Returns True if the specified *item* is present in the three, - False otherwise. + Returns True if the specified *item* is present in the tree. .. method:: focus([item=None]) @@ -942,7 +941,7 @@ ttk.Treeview * command: callback A callback to be invoked when the heading label is pressed. - To configure the tree column heading, call this with column = "#0" + To configure the tree column heading, call this with column = "#0". .. method:: identify(component, x, y) @@ -985,7 +984,7 @@ ttk.Treeview .. method:: identify_element(x, y) - Returns the element at position x, y. + Returns the element at position *x*, *y*. Availability: Tk 8.6. @@ -997,16 +996,16 @@ ttk.Treeview .. method:: insert(parent, index[, iid=None[, **kw]]) - Creates a new item and return the item identifier of the newly created + Creates a new item and returns the item identifier of the newly created item. *parent* is the item ID of the parent item, or the empty string to create a new top-level item. *index* is an integer, or the value "end", specifying where in the list of parent's children to insert the new item. If *index* is less than or equal to zero, the new node is inserted at - the beginning, if *index* is greater than or equal to the current number + the beginning; if *index* is greater than or equal to the current number of children, it is inserted at the end. If *iid* is specified, it is used - as the item identifier, *iid* must not already exist in the tree. + as the item identifier; *iid* must not already exist in the tree. Otherwise, a new unique identifier is generated. See `Item Options`_ for the list of available points. @@ -1026,9 +1025,9 @@ ttk.Treeview Moves *item* to position *index* in *parent*'s list of children. - It is illegal to move an item under one of its descendants. If index is - less than or equal to zero, item is moved to the beginning, if greater - than or equal to the number of children, it is moved to the end. If item + It is illegal to move an item under one of its descendants. If *index* is + less than or equal to zero, *item* is moved to the beginning; if greater + than or equal to the number of children, it is moved to the end. If *item* was detached it is reattached. @@ -1101,7 +1100,7 @@ ttk.Treeview .. method:: tag_bind(tagname[, sequence=None[, callback=None]]) Bind a callback for the given event *sequence* to the tag *tagname*. - When an event is delivered to an item, the *callbacks* for each of the + When an event is delivered to an item, the callbacks for each of the item's tags option are called. @@ -1119,7 +1118,7 @@ ttk.Treeview If *item* is specified, returns 1 or 0 depending on whether the specified *item* has the given *tagname*. Otherwise, returns a list of all items - which have the specified tag. + that have the specified tag. Availability: Tk 8.6 @@ -1159,7 +1158,7 @@ option. If you don't know the class name of a widget, use the method .. method:: configure(style, query_opt=None, **kw) - Query or sets the default value of the specified option(s) in *style*. + Query or set the default value of the specified option(s) in *style*. Each key in *kw* is an option and each value is a string identifying the value for that option. @@ -1185,10 +1184,10 @@ option. If you don't know the class name of a widget, use the method Query or sets dynamic values of the specified option(s) in *style*. - Each key in kw is an option and each value should be a list or a - tuple (usually) containing statespecs grouped in tuples, or list, or - something else of your preference. A statespec is compound of one or more - states and then a value. + Each key in *kw* is an option and each value should be a list or a + tuple (usually) containing statespecs grouped in tuples, lists, or + something else of your preference. A statespec is a compound of one + or more states and then a value. An example may make it more understandable:: @@ -1208,12 +1207,10 @@ option. If you don't know the class name of a widget, use the method root.mainloop() - There is a thing to note in this previous short example: - - * The order of the (states, value) sequences for an option does matter, - if you changed the order to [('active', 'blue'), ('pressed', 'red')] - in the foreground option, for example, you would get a blue foreground - when the widget were in active or pressed states. + Note that the order of the (states, value) sequences for an option does + matter, if you changed the order to ``[('active', 'blue'), ('pressed', + 'red')]`` in the foreground option, for example, you would get a blue + foreground when the widget were in active or pressed states. .. method:: lookup(style, option[, state=None[, default=None]]) @@ -1236,13 +1233,13 @@ option. If you don't know the class name of a widget, use the method Define the widget layout for given *style*. If *layoutspec* is omitted, return the layout specification for given style. - *layoutspec*, if specified, is expected to be a list, or some other - sequence type (excluding string), where each item should be a tuple and + *layoutspec*, if specified, is expected to be a list or some other + sequence type (excluding strings), where each item should be a tuple and the first item is the layout name and the second item should have the format described described in `Layouts`_. - To understand the format, check this example below (it is not intended - to do anything useful):: + To understand the format, see the following example (it is not + intended to do anything useful):: from tkinter import ttk import tkinter @@ -1268,12 +1265,12 @@ option. If you don't know the class name of a widget, use the method .. method:: element_create(elementname, etype, *args, **kw) - Create a new element in the current theme of given *etype* which is + Create a new element in the current theme, of the given *etype* which is expected to be either "image", "from" or "vsapi". The latter is only available in Tk 8.6a for Windows XP and Vista and is not described here. If "image" is used, *args* should contain the default image name followed - by statespec/value pairs (this is the imagespec), *kw* may have the + by statespec/value pairs (this is the imagespec), and *kw* may have the following options: * border=padding @@ -1296,11 +1293,12 @@ option. If you don't know the class name of a widget, use the method Specifies a minimum width for the element. If less than zero, the base image's width is used as a default. - But if "from" is used, then :meth:`element_create` will clone an existing - element. *args* is expected to contain a themename, which is from where + If "from" is used as the value of *etype*, + :meth:`element_create` will clone an existing + element. *args* is expected to contain a themename, from which the element will be cloned, and optionally an element to clone from. If this element to clone from is not specified, an empty element will - be used. *kw* is discarded here. + be used. *kw* is discarded. .. method:: element_names() @@ -1334,7 +1332,7 @@ option. If you don't know the class name of a widget, use the method :meth:`Style.configure`, :meth:`Style.map`, :meth:`Style.layout` and :meth:`Style.element_create` respectively. - As an example, lets change the Combobox for the default theme a bit:: + As an example, let's change the Combobox for the default theme a bit:: from tkinter import ttk import tkinter @@ -1367,7 +1365,7 @@ option. If you don't know the class name of a widget, use the method .. method:: theme_use([themename]) - If *themename* is not given, returns the theme in use, otherwise, set + If *themename* is not given, returns the theme in use. Otherwise, sets the current theme to *themename*, refreshes all widgets and emits a <<ThemeChanged>> event. @@ -1375,13 +1373,14 @@ option. If you don't know the class name of a widget, use the method Layouts ^^^^^^^ -A layout can be just None, if takes no options, or a dict of options specifying -how to arrange the element. The layout mechanism uses a simplified -version of the pack geometry manager: given an initial cavity, each element is -allocated a parcel. Valid options/values are: +A layout can be just None, if it takes no options, or a dict of +options specifying how to arrange the element. The layout mechanism +uses a simplified version of the pack geometry manager: given an +initial cavity, each element is allocated a parcel. Valid +options/values are: * side: whichside - Specifies which side of the cavity to place the the element; one of + Specifies which side of the cavity to place the element; one of top, right, bottom or left. If omitted, the element occupies the entire cavity. diff --git a/Doc/library/urllib.request.rst b/Doc/library/urllib.request.rst index f8cd439..fdf6c8a 100644 --- a/Doc/library/urllib.request.rst +++ b/Doc/library/urllib.request.rst @@ -40,7 +40,7 @@ The :mod:`urllib.request` module defines the following functions: commonly used to determine if a redirect was followed * :meth:`info` --- return the meta-information of the page, such as headers, - in the form of an ``http.client.HTTPMessage`` instance (see `Quick + in the form of an :class:`http.client.HTTPMessage` instance (see `Quick Reference to HTTP Headers <http://www.cs.tut.fi/~jkorpela/http.html>`_) Raises :exc:`URLError` on errors. diff --git a/Doc/library/webbrowser.rst b/Doc/library/webbrowser.rst index c42283f..380080b 100644 --- a/Doc/library/webbrowser.rst +++ b/Doc/library/webbrowser.rst @@ -55,6 +55,10 @@ The following functions are defined: under many window managers this will occur regardless of the setting of this variable). + Note that on some platforms, trying to open a filename using this function, + may work and start the operating system's associated program. However, this + is neither supported nor portable. + .. function:: open_new(url) diff --git a/Doc/library/winreg.rst b/Doc/library/winreg.rst index f349fdf..f42e7f2 100644 --- a/Doc/library/winreg.rst +++ b/Doc/library/winreg.rst @@ -39,8 +39,8 @@ This module offers the following functions: *key* is the predefined handle to connect to. - The return value is the handle of the opened key. If the function fails, an - :exc:`EnvironmentError` exception is raised. + The return value is the handle of the opened key. If the function fails, a + :exc:`WindowsError` exception is raised. .. function:: CreateKey(key, sub_key) @@ -57,8 +57,8 @@ This module offers the following functions: If the key already exists, this function opens the existing key. - The return value is the handle of the opened key. If the function fails, an - :exc:`EnvironmentError` exception is raised. + The return value is the handle of the opened key. If the function fails, a + :exc:`WindowsError` exception is raised. .. function:: DeleteKey(key, sub_key) @@ -74,7 +74,7 @@ This module offers the following functions: *This method can not delete keys with subkeys.* If the method succeeds, the entire key, including all of its values, is removed. - If the method fails, an :exc:`EnvironmentError` exception is raised. + If the method fails, a :exc:`WindowsError` exception is raised. .. function:: DeleteValue(key, value) @@ -97,7 +97,7 @@ This module offers the following functions: *index* is an integer that identifies the index of the key to retrieve. The function retrieves the name of one subkey each time it is called. It is - typically called repeatedly until an :exc:`EnvironmentError` exception is + typically called repeatedly until a :exc:`WindowsError` exception is raised, indicating, no more values are available. @@ -111,7 +111,7 @@ This module offers the following functions: *index* is an integer that identifies the index of the value to retrieve. The function retrieves the name of one subkey each time it is called. It is - typically called repeatedly, until an :exc:`EnvironmentError` exception is + typically called repeatedly, until a :exc:`WindowsError` exception is raised, indicating no more values. The result is a tuple of 3 items: @@ -199,7 +199,7 @@ This module offers the following functions: The result is a new handle to the specified key. - If the function fails, :exc:`EnvironmentError` is raised. + If the function fails, :exc:`WindowsError` is raised. .. function:: OpenKeyEx() @@ -243,9 +243,10 @@ This module offers the following functions: associated. If this parameter is ``None`` or empty, the function retrieves the value set by the :func:`SetValue` method for the key identified by *key*. - Values in the registry have name, type, and data components. This method + Values in the registry have name, type, and data components. This method retrieves the data for a key's first value that has a NULL name. But the - underlying API call doesn't return the type, Lame Lame Lame, DO NOT USE THIS!!! + underlying API call doesn't return the type, so always use + :func:`QueryValueEx` if possible. .. function:: QueryValueEx(key, value_name) |