[Python-checkins] cpython: use the HTTPS for pypi upload

benjamin.peterson python-checkins at python.org
Mon Mar 18 23:22:56 CET 2013


http://hg.python.org/cpython/rev/f86d46a580d8
changeset: 82739:f86d46a580d8
user: Benjamin Peterson <benjamin at python.org>
date: Mon Mar 18 15:20:56 2013 -0700
summary:
 use the HTTPS for pypi upload
files:
 Lib/distutils/config.py | 11 ++++++++++-
 Lib/distutils/tests/test_config.py | 4 ++--
 Lib/distutils/tests/test_upload.py | 8 ++++----
 Misc/NEWS | 2 ++
 4 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/Lib/distutils/config.py b/Lib/distutils/config.py
--- a/Lib/distutils/config.py
+++ b/Lib/distutils/config.py
@@ -21,7 +21,7 @@
 class PyPIRCCommand(Command):
 """Base command that knows how to handle the .pypirc file
 """
- DEFAULT_REPOSITORY = 'http://pypi.python.org/pypi'
+ DEFAULT_REPOSITORY = 'https://pypi.python.org/pypi'
 DEFAULT_REALM = 'pypi'
 repository = None
 realm = None
@@ -83,6 +83,15 @@
 current[key] = config.get(server, key)
 else:
 current[key] = default
+
+ # work around people having "repository" for the "pypi"
+ # section of their config set to the HTTP (rather than
+ # HTTPS) URL
+ if (server == 'pypi' and
+ repository in (self.DEFAULT_REPOSITORY, 'pypi')):
+ current['repository'] = self.DEFAULT_REPOSITORY
+ return current
+
 if (current['server'] == repository or
 current['repository'] == repository):
 return current
diff --git a/Lib/distutils/tests/test_config.py b/Lib/distutils/tests/test_config.py
--- a/Lib/distutils/tests/test_config.py
+++ b/Lib/distutils/tests/test_config.py
@@ -87,7 +87,7 @@
 
 config = list(sorted(config.items()))
 waited = [('password', 'secret'), ('realm', 'pypi'),
- ('repository', 'http://pypi.python.org/pypi'),
+ ('repository', 'https://pypi.python.org/pypi'),
 ('server', 'server1'), ('username', 'me')]
 self.assertEqual(config, waited)
 
@@ -96,7 +96,7 @@
 config = cmd._read_pypirc()
 config = list(sorted(config.items()))
 waited = [('password', 'secret'), ('realm', 'pypi'),
- ('repository', 'http://pypi.python.org/pypi'),
+ ('repository', 'https://pypi.python.org/pypi'),
 ('server', 'server-login'), ('username', 'tarek')]
 self.assertEqual(config, waited)
 
diff --git a/Lib/distutils/tests/test_upload.py b/Lib/distutils/tests/test_upload.py
--- a/Lib/distutils/tests/test_upload.py
+++ b/Lib/distutils/tests/test_upload.py
@@ -72,11 +72,11 @@
 
 def setUp(self):
 super(uploadTestCase, self).setUp()
- self.old_class = httpclient.HTTPConnection
- self.conn = httpclient.HTTPConnection = FakeConnection()
+ self.old_class = httpclient.HTTPSConnection
+ self.conn = httpclient.HTTPSConnection = FakeConnection()
 
 def tearDown(self):
- httpclient.HTTPConnection = self.old_class
+ httpclient.HTTPSConnection = self.old_class
 super(uploadTestCase, self).tearDown()
 
 def test_finalize_options(self):
@@ -88,7 +88,7 @@
 cmd.finalize_options()
 for attr, waited in (('username', 'me'), ('password', 'secret'),
 ('realm', 'pypi'),
- ('repository', 'http://pypi.python.org/pypi')):
+ ('repository', 'https://pypi.python.org/pypi')):
 self.assertEqual(getattr(cmd, attr), waited)
 
 def test_saved_password(self):
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,8 @@
 Core and Builtins
 -----------------
 
+- Use the HTTPS PyPI url for upload, overriding any plain HTTP URL in pypirc.
+
 - Issue #16795: On the ast.arguments object, unify vararg with varargannotation
 and kwarg and kwargannotation. Change the column offset of ast.Attribute to be
 at the attribute name.
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /