diff options
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/glossary.rst | 2 | ||||
-rw-r--r-- | Doc/library/abc.rst | 4 | ||||
-rw-r--r-- | Doc/library/collections.rst | 80 | ||||
-rw-r--r-- | Doc/library/shutil.rst | 41 | ||||
-rw-r--r-- | Doc/library/stdtypes.rst | 2 | ||||
-rw-r--r-- | Doc/tools/sphinxext/opensearch.xml | 18 | ||||
-rw-r--r-- | Doc/whatsnew/2.6.rst | 30 |
7 files changed, 110 insertions, 67 deletions
diff --git a/Doc/glossary.rst b/Doc/glossary.rst index f7a4b569..a2e9b02 100644 --- a/Doc/glossary.rst +++ b/Doc/glossary.rst @@ -16,7 +16,7 @@ Glossary The typical Python prompt of the interactive shell when entering code for an indented code block. - Abstract Base Class + abstract base class Abstract Base Classes (abbreviated ABCs) complement :term:`duck-typing` by providing a way to define interfaces when other techniques like :func:`hasattr` would be clumsy. Python comes with many builtin ABCs for data structures diff --git a/Doc/library/abc.rst b/Doc/library/abc.rst index 21d3018..b03fc83 100644 --- a/Doc/library/abc.rst +++ b/Doc/library/abc.rst @@ -8,8 +8,8 @@ .. sectionauthor:: Georg Brandl .. much of the content adapted from docstrings -This module provides the infrastructure for defining :term:`abstract base -classes` (ABCs) in Python, as outlined in :pep:`3119`; see the PEP for why this +This module provides the infrastructure for defining an :term:`abstract base +class` (ABCs) in Python, as outlined in :pep:`3119`; see the PEP for why this was added to Python. (See also :pep:`3141` and the :mod:`numbers` module regarding a type hierarchy for numbers based on ABCs.) diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst index 7718c51..d2d4f47 100644 --- a/Doc/library/collections.rst +++ b/Doc/library/collections.rst @@ -37,42 +37,50 @@ ABCs - abstract base classes The collections module offers the following ABCs: -========================= ==================== ====================== ==================================================== -ABC Inherits Abstract Methods Mixin Methods -========================= ==================== ====================== ==================================================== -:class:`Container` ``__contains__`` -:class:`Hashable` ``__hash__`` -:class:`Iterable` ``__iter__`` -:class:`Iterator` :class:`Iterable` ``__next__`` ``__iter__`` -:class:`Sized` ``__len__`` - -:class:`Mapping` :class:`Sized`, ``__getitem__``, ``__contains__``, ``keys``, ``items``, ``values``, - :class:`Iterable`, ``__len__``. and ``get``, ``__eq__``, and ``__ne__`` - :class:`Container` ``__iter__`` - -:class:`MutableMapping` :class:`Mapping` ``__getitem__`` Inherited Mapping methods and - ``__setitem__``, ``pop``, ``popitem``, ``clear``, ``update``, - ``__delitem__``, and ``setdefault`` - ``__iter__``, and - ``__len__`` - -:class:`Sequence` :class:`Sized`, ``__getitem__`` ``__contains__``. ``__iter__``, ``__reversed__``. - :class:`Iterable`, and ``__len__`` ``index``, and ``count`` - :class:`Container` - -:class:`MutableSequnce` :class:`Sequence` ``__getitem__`` Inherited Sequence methods and - ``__delitem__``, ``append``, ``reverse``, ``extend``, ``pop``, - ``insert``, ``remove``, and ``__iadd__`` - and ``__len__`` - -:class:`Set` :class:`Sized`, ``__len__``, ``__le__``, ``__lt__``, ``__eq__``, ``__ne__``, - :class:`Iterable`, ``__iter__``, and ``__gt__``, ``__ge__``, ``__and__``, ``__or__`` - :class:`Container` ``__contains__`` ``__sub__``, ``__xor__``, and ``isdisjoint`` - -:class:`MutableSet` :class:`Set` ``add`` and Inherited Set methods and - ``discard`` ``clear``, ``pop``, ``remove``, ``__ior__``, - ``__iand__``, ``__ixor__``, and ``__isub__`` -========================= ==================== ====================== ==================================================== +========================= ===================== ====================== ==================================================== +ABC Inherits Abstract Methods Mixin Methods +========================= ===================== ====================== ==================================================== +:class:`Container` ``__contains__`` +:class:`Hashable` ``__hash__`` +:class:`Iterable` ``__iter__`` +:class:`Iterator` :class:`Iterable` ``__next__`` ``__iter__`` +:class:`Sized` ``__len__`` +:class:`Callable` ``__call__`` + +:class:`Sequence` :class:`Sized`, ``__getitem__`` ``__contains__``. ``__iter__``, ``__reversed__``. + :class:`Iterable`, and ``__len__`` ``index``, and ``count`` + :class:`Container` + +:class:`MutableSequnce` :class:`Sequence` ``__getitem__`` Inherited Sequence methods and + ``__delitem__``, ``append``, ``reverse``, ``extend``, ``pop``, + ``insert``, ``remove``, and ``__iadd__`` + and ``__len__`` + +:class:`Set` :class:`Sized`, ``__len__``, ``__le__``, ``__lt__``, ``__eq__``, ``__ne__``, + :class:`Iterable`, ``__iter__``, and ``__gt__``, ``__ge__``, ``__and__``, ``__or__`` + :class:`Container` ``__contains__`` ``__sub__``, ``__xor__``, and ``isdisjoint`` + +:class:`MutableSet` :class:`Set` ``add`` and Inherited Set methods and + ``discard`` ``clear``, ``pop``, ``remove``, ``__ior__``, + ``__iand__``, ``__ixor__``, and ``__isub__`` + +:class:`Mapping` :class:`Sized`, ``__getitem__``, ``__contains__``, ``keys``, ``items``, ``values``, + :class:`Iterable`, ``__len__``. and ``get``, ``__eq__``, and ``__ne__`` + :class:`Container` ``__iter__`` + +:class:`MutableMapping` :class:`Mapping` ``__getitem__`` Inherited Mapping methods and + ``__setitem__``, ``pop``, ``popitem``, ``clear``, ``update``, + ``__delitem__``, and ``setdefault`` + ``__iter__``, and + ``__len__`` + +:class:`MappingView` :class:`Sized` ``__len__`` +:class:`KeysView` :class:`MappingView`, ``__contains__``, + :class:`Set` ``__iter__`` +:class:`ItemsView` :class:`MappingView`, ``__contains__``, + :class:`Set` ``__iter__`` +:class:`ValuesView` :class:`MappingView` ``__contains__``, ``__iter__`` +========================= ===================== ====================== ==================================================== These ABCs allow us to ask classes or instances if they provide particular functionality, for example:: diff --git a/Doc/library/shutil.rst b/Doc/library/shutil.rst index 5ab2f29..c295f29 100644 --- a/Doc/library/shutil.rst +++ b/Doc/library/shutil.rst @@ -78,18 +78,39 @@ copying and removal. For operations on individual files, see also the Unix command :program:`cp -p`. -.. function:: copytree(src, dst[, symlinks]) +.. function:: ignore_patterns(\*patterns) + + This factory function creates a function that can be used as a callable for + :func:`copytree`\'s *ignore* argument, ignoring files and directories that + match one of the glob-style *patterns* provided. See the example below. + + +.. function:: copytree(src, dst[, symlinks=False[, ignore=None]]) Recursively copy an entire directory tree rooted at *src*. The destination - directory, named by *dst*, must not already exist; it will be created as well as - missing parent directories. Permissions and times of directories are copied with - :func:`copystat`, individual files are copied using :func:`copy2`. If - *symlinks* is true, symbolic links in the source tree are represented as - symbolic links in the new tree; if false or omitted, the contents of the linked - files are copied to the new tree. If exception(s) occur, an :exc:`Error` is - raised with a list of reasons. - - The source code for this should be considered an example rather than a tool. + directory, named by *dst*, must not already exist; it will be created as well + as missing parent directories. Permissions and times of directories are + copied with :func:`copystat`, individual files are copied using + :func:`copy2`. + + If *symlinks* is true, symbolic links in the source tree are represented as + symbolic links in the new tree; if false or omitted, the contents of the + linked files are copied to the new tree. + + If *ignore* is given, it must be a callable that will receive as its + arguments the directory being visited by :func:`copytree`, and a list of its + contents, as returned by :func:`os.listdir`. Since :func:`copytree` is + called recursively, the *ignore* callable will be called once for each + directory that is copied. The callable must return a sequence of directory + and file names relative to the current directory (i.e. a subset of the items + in its second argument); these names will then be ignored in the copy + process. :func:`ignore_patterns` can be used to create such a callable that + ignores names based on glob-style patterns. + + If exception(s) occur, an :exc:`Error` is raised with a list of reasons. + + The source code for this should be considered an example rather than the + ultimate tool. .. function:: rmtree(path[, ignore_errors[, onerror]]) diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst index 9107d03..a97a519 100644 --- a/Doc/library/stdtypes.rst +++ b/Doc/library/stdtypes.rst @@ -2027,7 +2027,7 @@ Files have the following methods: files, like ttys, it makes sense to continue reading after an EOF is hit.) Note that this method may call the underlying C function :cfunc:`fread` more than once in an effort to acquire as close to *size* bytes as possible. Also note - that when in non-blocking mode, less data than what was requested may be + that when in non-blocking mode, less data than was requested may be returned, even if no *size* parameter was given. diff --git a/Doc/tools/sphinxext/opensearch.xml b/Doc/tools/sphinxext/opensearch.xml index d672c2e..69cec80 100644 --- a/Doc/tools/sphinxext/opensearch.xml +++ b/Doc/tools/sphinxext/opensearch.xml @@ -1,14 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> -<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"> - <ShortName>Python Docs</ShortName> - <LongName>Python Documentation</LongName> - <Description>Search the Python documentation</Description> - <InputEncoding>utf-8</InputEncoding> - <Url type="text/html" method="get" template="{{ pathto('search') }}?"> - <Param name="q" value="{searchTerms}" /> - <Param name="check_keywords" value="yes" /> - <Param name="area" value="default" /> - </Url> - <Image height="16" width="16" type="image/x-icon">http://www.python.org/images/favicon16x16.ico</Image> -</OpenSearchDescription> - +{% extends "!opensearch.xml" %} +{% block extra -%} +<Image height="16" width="16" type="image/x-icon">http://www.python.org/images/favicon16x16.ico</Image> +{%- endblock %} diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst index 21ccf9b..df5ccb6 100644 --- a/Doc/whatsnew/2.6.rst +++ b/Doc/whatsnew/2.6.rst @@ -1681,6 +1681,11 @@ details. available, instead of restricting itself to protocol 1. (Contributed by W. Barnes; :issue:`1551443`.) +* The :mod:`cgi` module will now read variables from the query string of an + HTTP POST request. This makes it possible to use form actions with + URLs such as "/cgi-bin/add.py?category=1". (Contributed by + Alexandre Fiori and Nubis; :issue:`1817`.) + * The :mod:`cmath` module underwent an extensive set of revisions, thanks to Mark Dickinson and Christian Heimes, that added some new features and greatly improved the accuracy of the computations. @@ -2137,6 +2142,24 @@ details. * The :mod:`sets` module has been deprecated; it's better to use the built-in :class:`set` and :class:`frozenset` types. +* The :func:`shutil.copytree` function now has an optional **ignore** argument + that takes a callable object. This callable will receive each directory path + and a list of the directory's contents, and returns a list of names that + will be ignored, not copied. + + The :mod:`shutil` module also provides an :func:`ignore_patterns` + function for use with this new parameter. + :func:`ignore_patterns` takes an arbitrary number of glob-style patterns + and will ignore any files and directories that match this pattern. + The following example copies a directory tree, but skip both SVN's internal + :file:`.svn` directories and Emacs backup + files, which have names ending with '~':: + + shutil.copytree('Doc/library', '/tmp/library', + ignore=shutil.ignore_patterns('*~', '.svn')) + + (Contributed by Tarek Ziadé; :issue:`2663`.) + * Integrating signal handling with GUI handling event loops like those used by Tkinter or GTk+ has long been a problem; most software ends up polling, waking up every fraction of a second. @@ -2500,9 +2523,10 @@ handle it safely:: ... ValueError: malformed string -The module also includes -:class:`NodeVisitor` and :class:`NodeTransformer` classes -for traversing and modifying an AST, and functions for common transformations such as changing line numbers. +The module also includes :class:`NodeVisitor` and +:class:`NodeTransformer` classes for traversing and modifying an AST, +and functions for common transformations such as changing line +numbers. .. ====================================================================== |