Kaydet (Commit) 6a59b70c authored tarafından Éric Araujo's avatar Éric Araujo

Merge 3.2

...@@ -264,8 +264,7 @@ the organizations that use Python. ...@@ -264,8 +264,7 @@ the organizations that use Python.
**What are the restrictions on Python's use?** **What are the restrictions on Python's use?**
They're practically nonexistent. Consult the :file:`Misc/COPYRIGHT` file in the They're practically nonexistent. Consult :ref:`history-and-license` for the full
source distribution, or the section :ref:`history-and-license` for the full
language, but it boils down to three conditions: language, but it boils down to three conditions:
* You have to leave the copyright notice on the software; if you don't include * You have to leave the copyright notice on the software; if you don't include
......
...@@ -261,8 +261,8 @@ behave slightly differently from real Capsules. Specifically: ...@@ -261,8 +261,8 @@ behave slightly differently from real Capsules. Specifically:
copy as you see fit.) copy as you see fit.)
You can find :file:`capsulethunk.h` in the Python source distribution You can find :file:`capsulethunk.h` in the Python source distribution
in the :file:`Doc/includes` directory. We also include it here for as :source:`Doc/includes/capsulethunk.h`. We also include it here for
your reference; here is :file:`capsulethunk.h`: your convenience:
.. literalinclude:: ../includes/capsulethunk.h .. literalinclude:: ../includes/capsulethunk.h
......
...@@ -360,7 +360,7 @@ and more. ...@@ -360,7 +360,7 @@ and more.
You can learn about this by interactively experimenting with the :mod:`re` You can learn about this by interactively experimenting with the :mod:`re`
module. If you have :mod:`tkinter` available, you may also want to look at module. If you have :mod:`tkinter` available, you may also want to look at
:file:`Tools/demo/redemo.py`, a demonstration program included with the :source:`Tools/demo/redemo.py`, a demonstration program included with the
Python distribution. It allows you to enter REs and strings, and displays Python distribution. It allows you to enter REs and strings, and displays
whether the RE matches or fails. :file:`redemo.py` can be quite useful when whether the RE matches or fails. :file:`redemo.py` can be quite useful when
trying to debug a complicated RE. Phil Schwartz's `Kodos trying to debug a complicated RE. Phil Schwartz's `Kodos
...@@ -495,7 +495,7 @@ more convenient. If a program contains a lot of regular expressions, or re-uses ...@@ -495,7 +495,7 @@ more convenient. If a program contains a lot of regular expressions, or re-uses
the same ones in several locations, then it might be worthwhile to collect all the same ones in several locations, then it might be worthwhile to collect all
the definitions in one place, in a section of code that compiles all the REs the definitions in one place, in a section of code that compiles all the REs
ahead of time. To take an example from the standard library, here's an extract ahead of time. To take an example from the standard library, here's an extract
from the now deprecated :file:`xmllib.py`:: from the now-defunct Python 2 standard :mod:`xmllib` module::
ref = re.compile( ... ) ref = re.compile( ... )
entityref = re.compile( ... ) entityref = re.compile( ... )
......
...@@ -23,7 +23,7 @@ definition of the Python bindings for the DOM and SAX interfaces. ...@@ -23,7 +23,7 @@ definition of the Python bindings for the DOM and SAX interfaces.
html.rst html.rst
html.parser.rst html.parser.rst
html.entities.rst html.entities.rst
pyexpat.rst xml.etree.elementtree.rst
xml.dom.rst xml.dom.rst
xml.dom.minidom.rst xml.dom.minidom.rst
xml.dom.pulldom.rst xml.dom.pulldom.rst
...@@ -31,4 +31,4 @@ definition of the Python bindings for the DOM and SAX interfaces. ...@@ -31,4 +31,4 @@ definition of the Python bindings for the DOM and SAX interfaces.
xml.sax.handler.rst xml.sax.handler.rst
xml.sax.utils.rst xml.sax.utils.rst
xml.sax.reader.rst xml.sax.reader.rst
xml.etree.elementtree.rst pyexpat.rst
...@@ -260,7 +260,7 @@ class bdist_msi(Command): ...@@ -260,7 +260,7 @@ class bdist_msi(Command):
self.db.Commit() self.db.Commit()
if hasattr(self.distribution, 'dist_files'): if hasattr(self.distribution, 'dist_files'):
tup = 'bdist_msi', self.target_version or 'any', fullname tup = 'bdist_msi', self.target_version or 'any', installer_name
self.distribution.dist_files.append(tup) self.distribution.dist_files.append(tup)
if not self.keep_temp: if not self.keep_temp:
......
"""Tests for distutils.command.bdist_msi.""" """Tests for distutils.command.bdist_msi."""
import unittest
import sys import sys
import unittest
from test.support import run_unittest from test.support import run_unittest
from distutils.tests import support from distutils.tests import support
@unittest.skipUnless(sys.platform=="win32", "These tests are only for win32")
@unittest.skipUnless(sys.platform == 'win32', 'these tests require Windows')
class BDistMSITestCase(support.TempdirManager, class BDistMSITestCase(support.TempdirManager,
support.LoggingSilencer, support.LoggingSilencer,
unittest.TestCase): unittest.TestCase):
...@@ -14,9 +13,18 @@ class BDistMSITestCase(support.TempdirManager, ...@@ -14,9 +13,18 @@ class BDistMSITestCase(support.TempdirManager,
def test_minimal(self): def test_minimal(self):
# minimal test XXX need more tests # minimal test XXX need more tests
from distutils.command.bdist_msi import bdist_msi from distutils.command.bdist_msi import bdist_msi
pkg_pth, dist = self.create_dist() project_dir, dist = self.create_dist()
cmd = bdist_msi(dist) cmd = bdist_msi(dist)
cmd.ensure_finalized() cmd.ensure_finalized()
cmd.run()
bdists = os.listdir(os.path.join(project_dir, 'dist'))
self.assertEqual(bdists, ['foo-0.1.msi'])
# bug #13719: upload ignores bdist_msi files
self.assertEqual(dist.dist_files,
[('bdist_msi', 'any', 'dist/foo-0.1.msi')])
def test_suite(): def test_suite():
return unittest.makeSuite(BDistMSITestCase) return unittest.makeSuite(BDistMSITestCase)
......
"""XML-RPC Servers. r"""XML-RPC Servers.
This module can be used to create simple XML-RPC servers This module can be used to create simple XML-RPC servers
by creating a server and either installing functions, a by creating a server and either installing functions, a
......
...@@ -13,6 +13,8 @@ Core and Builtins ...@@ -13,6 +13,8 @@ Core and Builtins
Library Library
------- -------
- Issue #13719: Make the distutils upload command aware of bdist_msi products.
- Issue #14007: Accept incomplete TreeBuilder objects (missing start, end, - Issue #14007: Accept incomplete TreeBuilder objects (missing start, end,
data or close method) for the Python implementation as well. data or close method) for the Python implementation as well.
Drop the no-op TreeBuilder().xml() method from the C implementation. Drop the no-op TreeBuilder().xml() method from the C implementation.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment