summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2010-11-02 22:31:52 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2010-11-02 22:31:52 (GMT)
commitf80b3f72c6c486207deeda259579cba2a28bde93 (patch)
tree563c01636238b8ce59875640d21a0f3d008d30e4
parente159422ce9cd6cedff7b45eef5a00d7e6a2aa90c (diff)
downloadcpython-f80b3f72c6c486207deeda259579cba2a28bde93.zip
cpython-f80b3f72c6c486207deeda259579cba2a28bde93.tar.gz
cpython-f80b3f72c6c486207deeda259579cba2a28bde93.tar.bz2
Issue #10280: NNTP.nntp_version should reflect the highest version
advertised by the server.
-rw-r--r--Lib/nntplib.py4
-rw-r--r--Lib/test/test_nntplib.py6
-rw-r--r--Misc/NEWS3
3 files changed, 9 insertions, 4 deletions
diff --git a/Lib/nntplib.py b/Lib/nntplib.py
index 409342c..b067d6b 100644
--- a/Lib/nntplib.py
+++ b/Lib/nntplib.py
@@ -361,7 +361,9 @@ class _NNTPBase:
else:
self._caps = caps
if 'VERSION' in caps:
- self.nntp_version = int(caps['VERSION'][0])
+ # The server can advertise several supported versions,
+ # choose the highest.
+ self.nntp_version = max(map(int, caps['VERSION']))
def getwelcome(self):
"""Get the welcome message from the server
diff --git a/Lib/test/test_nntplib.py b/Lib/test/test_nntplib.py
index dd100ef..e62b240 100644
--- a/Lib/test/test_nntplib.py
+++ b/Lib/test/test_nntplib.py
@@ -558,7 +558,7 @@ class NNTPv2Handler(NNTPv1Handler):
def handle_CAPABILITIES(self):
self.push_lit("""\
101 Capability list:
- VERSION 2
+ VERSION 2 3
IMPLEMENTATION INN 2.5.1
AUTHINFO USER
HDR
@@ -935,7 +935,7 @@ class NNTPv2Tests(NNTPv1v2TestsMixin, MockedNNTPTestsMixin, unittest.TestCase):
def test_caps(self):
caps = self.server.getcapabilities()
self.assertEqual(caps, {
- 'VERSION': ['2'],
+ 'VERSION': ['2', '3'],
'IMPLEMENTATION': ['INN', '2.5.1'],
'AUTHINFO': ['USER'],
'HDR': [],
@@ -945,7 +945,7 @@ class NNTPv2Tests(NNTPv1v2TestsMixin, MockedNNTPTestsMixin, unittest.TestCase):
'POST': [],
'READER': [],
})
- self.assertEqual(self.server.nntp_version, 2)
+ self.assertEqual(self.server.nntp_version, 3)
class MiscTests(unittest.TestCase):
diff --git a/Misc/NEWS b/Misc/NEWS
index ae95b13..b97a181 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -59,6 +59,9 @@ Core and Builtins
Library
-------
+- Issue #10280: NNTP.nntp_version should reflect the highest version
+ advertised by the server.
+
- Issue #10184: Touch directories only once when extracting a tarfile.
- Issue #10199: New package, ``turtledemo`` now contains selected demo