bpo-39366: Remove xpath() and xgtitle() methods of NNTP (GH-18035)

This commit is contained in:
Dong-hee Na 2020-01-23 06:59:43 +09:00 committed by Berker Peksag
parent b477d19a6b
commit 1f0f102dec
4 changed files with 9 additions and 66 deletions

View File

@ -542,33 +542,6 @@ them have been superseded by newer commands in :rfc:`3977`.
if available.
.. method:: NNTP.xpath(id)
Return a pair ``(resp, path)``, where *path* is the directory path to the
article with message ID *id*. Most of the time, this extension is not
enabled by NNTP server administrators.
.. deprecated:: 3.3
The XPATH extension is not actively used.
.. XXX deprecated:
.. method:: NNTP.xgtitle(name, *, file=None)
Process an ``XGTITLE`` command, returning a pair ``(response, list)``, where
*list* is a list of tuples containing ``(name, title)``. If the *file* parameter
is supplied, then the output of the ``XGTITLE`` command is stored in a file.
If *file* is a string, then the method will open a file with that name, write
to it then close it. If *file* is a :term:`file object`, then it will start
calling :meth:`write` on it to store the lines of the command output. If *file*
is supplied, then the returned *list* is an empty list. This is an optional NNTP
extension, and may not be supported by all servers.
:rfc:`2980` says "It is suggested that this extension be deprecated". Use
:meth:`descriptions` or :meth:`description` instead.
Utility functions
-----------------

View File

@ -363,6 +363,13 @@ Deprecated
Removed
=======
* :class:`nntplib.NNTP`: ``xpath()`` and ``xgtitle()`` methods have been removed.
These methods are deprecated since Python 3.3. Generally, these extensions
are not supported or not enabled by NNTP server administrators.
For ``xgtitle()``, please use :meth:`nntplib.NNTP.descriptions` or
:meth:`nntplib.NNTP.description` instead.
(Contributed by Dong-hee Na in :issue:`39366`.)
* :class:`array.array`: ``tostring()`` and ``fromstring()`` methods have been
removed. They were aliases to ``tobytes()`` and ``frombytes()``, deprecated
since Python 3.2.

View File

@ -67,7 +67,6 @@ import re
import socket
import collections
import datetime
import warnings
import sys
try:
@ -834,44 +833,6 @@ class _NNTPBase:
fmt = self._getoverviewfmt()
return resp, _parse_overview(lines, fmt)
def xgtitle(self, group, *, file=None):
"""Process an XGTITLE command (optional server extension) Arguments:
- group: group name wildcard (i.e. news.*)
Returns:
- resp: server response if successful
- list: list of (name,title) strings"""
warnings.warn("The XGTITLE extension is not actively used, "
"use descriptions() instead",
DeprecationWarning, 2)
line_pat = re.compile('^([^ \t]+)[ \t]+(.*)$')
resp, raw_lines = self._longcmdstring('XGTITLE ' + group, file)
lines = []
for raw_line in raw_lines:
match = line_pat.search(raw_line.strip())
if match:
lines.append(match.group(1, 2))
return resp, lines
def xpath(self, id):
"""Process an XPATH command (optional server extension) Arguments:
- id: Message id of article
Returns:
resp: server response if successful
path: directory path to article
"""
warnings.warn("The XPATH extension is not actively used",
DeprecationWarning, 2)
resp = self._shortcmd('XPATH {0}'.format(id))
if not resp.startswith('223'):
raise NNTPReplyError(resp)
try:
[resp_num, path] = resp.split()
except ValueError:
raise NNTPReplyError(resp) from None
else:
return resp, path
def date(self):
"""Process the DATE command.
Returns:

View File

@ -0,0 +1,2 @@
The previously deprecated ``xpath()`` and ``xgtitle()`` methods of
:class:`nntplib.NNTP` have been removed.