summaryrefslogtreecommitdiffstats
path: root/Lib
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 /Lib
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.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/nntplib.py4
-rw-r--r--Lib/test/test_nntplib.py6
2 files changed, 6 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):