summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
Diffstat (limited to 'Doc')
-rw-r--r--Doc/conf.py2
-rw-r--r--Doc/copyright.rst2
-rw-r--r--Doc/library/itertools.rst40
-rw-r--r--Doc/library/logging.rst43
-rw-r--r--Doc/license.rst2
-rw-r--r--Doc/tools/sphinxext/patchlevel.py3
6 files changed, 58 insertions, 34 deletions
diff --git a/Doc/conf.py b/Doc/conf.py
index b7903be..71bc6f7 100644
--- a/Doc/conf.py
+++ b/Doc/conf.py
@@ -87,7 +87,7 @@ html_additional_pages = {
}
# Output file base name for HTML help builder.
-htmlhelp_basename = 'pydoc'
+htmlhelp_basename = 'python' + release.replace('.', '')
# Options for LaTeX output
diff --git a/Doc/copyright.rst b/Doc/copyright.rst
index 9a472af..376b1c4 100644
--- a/Doc/copyright.rst
+++ b/Doc/copyright.rst
@@ -4,7 +4,7 @@ Copyright
Python and this documentation is:
-Copyright © 2001-2007 Python Software Foundation. All rights reserved.
+Copyright © 2001-2008 Python Software Foundation. All rights reserved.
Copyright © 2000 BeOpen.com. All rights reserved.
diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst
index 098972d..9da51aa 100644
--- a/Doc/library/itertools.rst
+++ b/Doc/library/itertools.rst
@@ -102,26 +102,24 @@ loops that truncate the stream.
Each result tuple is ordered to match the input order. So, every
combination is a subsequence of the input *iterable*.
- Example: ``combinations(range(4), 3) --> (0,1,2), (0,1,3), (0,2,3), (1,2,3)``
-
Equivalent to::
def combinations(iterable, r):
+ 'combinations(range(4), 3) --> (0,1,2) (0,1,3) (0,2,3) (1,2,3)'
pool = tuple(iterable)
n = len(pool)
- assert 0 <= r <= n
- vec = range(r)
- yield tuple(pool[i] for i in vec)
+ indices = range(r)
+ yield tuple(pool[i] for i in indices)
while 1:
for i in reversed(range(r)):
- if vec[i] != i + n - r:
+ if indices[i] != i + n - r:
break
else:
return
- vec[i] += 1
+ indices[i] += 1
for j in range(i+1, r):
- vec[j] = vec[j-1] + 1
- yield tuple(pool[i] for i in vec)
+ indices[j] = indices[j-1] + 1
+ yield tuple(pool[i] for i in indices)
.. versionadded:: 2.6
@@ -356,7 +354,29 @@ loops that truncate the stream.
value. So if the input elements are unique, there will be no repeat
values in each permutation.
- Example: ``permutations(range(3),2) --> (1,2) (1,3) (2,1) (2,3) (3,1) (3,2)``
+ Equivalent to::
+
+ def permutations(iterable, r=None):
+ 'permutations(range(3), 2) --> (0,1) (0,2) (1,0) (1,2) (2,0) (2,1)'
+ pool = tuple(iterable)
+ n = len(pool)
+ r = n if r is None else r
+ indices = range(n)
+ cycles = range(n-r+1, n+1)[::-1]
+ yield tuple(pool[i] for i in indices[:r])
+ while n:
+ for i in reversed(range(r)):
+ cycles[i] -= 1
+ if cycles[i] == 0:
+ indices[i:] = indices[i+1:] + indices[i:i+1]
+ cycles[i] = n - i
+ else:
+ j = cycles[i]
+ indices[i], indices[-j] = indices[-j], indices[i]
+ yield tuple(pool[i] for i in indices[:r])
+ break
+ else:
+ return
.. versionadded:: 2.6
diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst
index 7cdbbd2..a7693fb 100644
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -1630,27 +1630,28 @@ timed intervals.
You can use the *when* to specify the type of *interval*. The list of possible
values is, note that they are not case sensitive:
- +----------+-----------------------+
- | Value | Type of interval |
- +==========+=======================+
- | S | Seconds |
- +----------+-----------------------+
- | M | Minutes |
- +----------+-----------------------+
- | H | Hours |
- +----------+-----------------------+
- | D | Days |
- +----------+-----------------------+
- | W | Week day (0=Monday) |
- +----------+-----------------------+
- | midnight | Roll over at midnight |
- +----------+-----------------------+
-
- If *backupCount* is non-zero, the system will save old log files by appending
- extensions to the filename. The extensions are date-and-time based, using the
- strftime format ``%Y-%m-%d_%H-%M-%S`` or a leading portion thereof, depending on
- the rollover interval. At most *backupCount* files will be kept, and if more
- would be created when rollover occurs, the oldest one is deleted.
+ +----------------+-----------------------+
+ | Value | Type of interval |
+ +================+=======================+
+ | ``'S'`` | Seconds |
+ +----------------+-----------------------+
+ | ``'M'`` | Minutes |
+ +----------------+-----------------------+
+ | ``'H'`` | Hours |
+ +----------------+-----------------------+
+ | ``'D'`` | Days |
+ +----------------+-----------------------+
+ | ``'W'`` | Week day (0=Monday) |
+ +----------------+-----------------------+
+ | ``'midnight'`` | Roll over at midnight |
+ +----------------+-----------------------+
+
+ The system will save old log files by appending extensions to the filename.
+ The extensions are date-and-time based, using the strftime format
+ ``%Y-%m-%d_%H-%M-%S`` or a leading portion thereof, depending on the rollover
+ interval. If *backupCount* is nonzero, at most *backupCount* files will be
+ kept, and if more would be created when rollover occurs, the oldest one is
+ deleted.
.. method:: TimedRotatingFileHandler.doRollover()
diff --git a/Doc/license.rst b/Doc/license.rst
index 127fc0d..6ffa65f 100644
--- a/Doc/license.rst
+++ b/Doc/license.rst
@@ -120,7 +120,7 @@ Terms and conditions for accessing or otherwise using Python
analyze, test, perform and/or display publicly, prepare derivative works,
distribute, and otherwise use Python |release| alone or in any derivative
version, provided, however, that PSF's License Agreement and PSF's notice of
- copyright, i.e., "Copyright © 2001-2007 Python Software Foundation; All Rights
+ copyright, i.e., "Copyright © 2001-2008 Python Software Foundation; All Rights
Reserved" are retained in Python |release| alone or in any derivative version
prepared by Licensee.
diff --git a/Doc/tools/sphinxext/patchlevel.py b/Doc/tools/sphinxext/patchlevel.py
index 971ea61..cb9e35c 100644
--- a/Doc/tools/sphinxext/patchlevel.py
+++ b/Doc/tools/sphinxext/patchlevel.py
@@ -66,3 +66,6 @@ def get_version_info():
print >>sys.stderr, 'Can\'t get version info from Include/patchlevel.h, ' \
'using version of this interpreter (%s).' % release
return version, release
+
+if __name__ == '__main__':
+ print get_header_version_info('.')[1]