Patch #823072: add option to NOT use ~/.netrc in nntplib.NNTP().

This commit is contained in:
Martin v. Löwis 2004-08-03 14:36:32 +00:00
parent 0b49e02e03
commit 9513e34ac4
3 changed files with 11 additions and 4 deletions

View file

@ -54,12 +54,14 @@ The module itself defines the following items:
\begin{classdesc}{NNTP}{host\optional{, port
\optional{, user\optional{, password
\optional{, readermode}}}}}
\optional{, readermode}
\optional{, usenetrc}}}}}
Return a new instance of the \class{NNTP} class, representing a
connection to the NNTP server running on host \var{host}, listening at
port \var{port}. The default \var{port} is 119. If the optional
\var{user} and \var{password} are provided,
or if suitable credentials are present in \file{~/.netrc},
or if suitable credentials are present in \file{~/.netrc} and the
optional flag \var{usenetrc} is true (the default),
the \samp{AUTHINFO USER} and \samp{AUTHINFO PASS} commands are used to
identify and authenticate the user to the server. If the optional
flag \var{readermode} is true, then a \samp{mode reader} command is
@ -68,6 +70,9 @@ necessary if you are connecting to an NNTP server on the local machine
and intend to call reader-specific commands, such as \samp{group}. If
you get unexpected \code{NNTPPermanentError}s, you might need to set
\var{readermode}. \var{readermode} defaults to \code{None}.
\var{usenetrc} defaults to \code{True}.
\versionchanged[\var{usenetrc} argument added]{2.4}
\end{classdesc}
\begin{classdesc}{NNTPError}{}

View file

@ -92,7 +92,7 @@ class NNTPDataError(NNTPError):
# The class itself
class NNTP:
def __init__(self, host, port=NNTP_PORT, user=None, password=None,
readermode=None):
readermode=None, usenetrc=True):
"""Initialize an instance. Arguments:
- host: hostname to connect to
- port: port to connect to (default the standard NNTP port)
@ -136,7 +136,7 @@ def __init__(self, host, port=NNTP_PORT, user=None, password=None,
# If no login/password was specified, try to get them from ~/.netrc
# Presume that if .netc has an entry, NNRP authentication is required.
try:
if not user:
if usenetrc and not user:
import netrc
credentials = netrc.netrc()
auth = credentials.authenticators(host)

View file

@ -72,6 +72,8 @@ Extension modules
Library
-------
- nntplib does now allow to ignore a .netrc file.
- urllib2 now recognizes Basic authentication even if other authentication
schemes are offered.