]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
use the HTTPS for pypi upload
authorBenjamin Peterson <benjamin@python.org>
Mon, 18 Mar 2013 22:20:56 +0000 (15:20 -0700)
committerBenjamin Peterson <benjamin@python.org>
Mon, 18 Mar 2013 22:20:56 +0000 (15:20 -0700)
Lib/distutils/config.py
Lib/distutils/tests/test_config.py
Lib/distutils/tests/test_upload.py
Misc/NEWS

index 1fd53346e96d542c9845b9ad19165e394016d6b2..7439a83a4f0dc4277b715c126edc41a6d791c861 100644 (file)
@@ -21,7 +21,7 @@ password:%s
 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 @@ class PyPIRCCommand(Command):
                             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
index 525bee9416ab27b20543ce55b1c71864b496d449..12593610aa8ef86dc1f6126a382cc7f33c521276 100644 (file)
@@ -87,7 +87,7 @@ class PyPIRCCommandTestCase(support.TempdirManager,
 
         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 @@ class PyPIRCCommandTestCase(support.TempdirManager,
         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)
 
index 4c6464a32e8a0f55b2ccba0179f4d3bc83c888d7..d2696866fe216f1d8fd8beb9d06b75969241661d 100644 (file)
@@ -72,11 +72,11 @@ class uploadTestCase(PyPIRCCommandTestCase):
 
     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 @@ class uploadTestCase(PyPIRCCommandTestCase):
         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):
index 8a82385a090122ea43c9451b35f371caa0fdbac6..4060391a1ab6a008b8c960ffeba81b85b0d5b6e1 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,8 @@ What's New in Python 3.4.0 Alpha 1?
 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.