diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2010-11-02 22:31:52 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2010-11-02 22:31:52 (GMT) |
commit | f80b3f72c6c486207deeda259579cba2a28bde93 (patch) | |
tree | 563c01636238b8ce59875640d21a0f3d008d30e4 /Lib | |
parent | e159422ce9cd6cedff7b45eef5a00d7e6a2aa90c (diff) | |
download | cpython-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.py | 4 | ||||
-rw-r--r-- | Lib/test/test_nntplib.py | 6 |
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): |