From: Raymond Hettinger Date: Fri, 25 Apr 2003 04:37:40 +0000 (+0000) Subject: Backport 1.18: X-Git-Tag: v2.2.3c1~60 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ed1eff778c4ccbe146f7eeb078d1fd2bafc23550;p=thirdparty%2FPython%2Fcpython.git Backport 1.18: SF bug 557704: netrc module can't handle all passwords Let netrc handle entries with login fields (mail servers for instance) by having login default to ''. --- diff --git a/Lib/netrc.py b/Lib/netrc.py index 5c9e1ff5217f..3290b1795c49 100644 --- a/Lib/netrc.py +++ b/Lib/netrc.py @@ -27,7 +27,7 @@ class netrc: self.hosts = {} self.macros = {} lexer = shlex.shlex(fp) - lexer.wordchars += r"""!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~""" + lexer.wordchars += r"""!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~""" while 1: # Look for a machine, default, or macdef top-level keyword toplevel = tt = lexer.get_token() @@ -53,13 +53,14 @@ class netrc: "bad toplevel token %r" % tt, file, lexer.lineno) # We're looking at start of an entry for a named machine or default. - login = account = password = None + login = '' + account = password = None self.hosts[entryname] = {} while 1: tt = lexer.get_token() if (tt=='' or tt == 'machine' or tt == 'default' or tt =='macdef'): - if login and password: + if password: self.hosts[entryname] = (login, account, password) lexer.push_token(tt) break