[Python-checkins] CVS: python/dist/src/Lib netrc.py,1.10,1.11
Fred L. Drake
fdrake@users.sourceforge.net
Mon, 05 Mar 2001 22:33:10 -0800
Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv14003/Lib
Modified Files:
netrc.py
Log Message:
Define & use NetrcParseError instead of improperly overloading SyntaxError.
Always has the lineno and filename of the source text.
Index: netrc.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/netrc.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** netrc.py 2001/02/06 01:07:01 1.10
--- netrc.py 2001/03/06 06:33:08 1.11
***************
*** 5,10 ****
import os, shlex
! __all__ = ["netrc"]
class netrc:
def __init__(self, file=None):
--- 5,23 ----
import os, shlex
! __all__ = ["netrc", "NetrcParseError"]
+
+ class NetrcParseError(Exception):
+ """Exception raised on syntax errors in the .netrc file."""
+ def __init__(self, msg, filename=None, lineno=None):
+ self.filename = file
+ self.lineno = lineno
+ self.msg = msg
+ Exception.__init__(self, msg)
+
+ def __str__(self):
+ return "%s (%s, line %s)" % (self.msg, self.filename, self.lineno)
+
+
class netrc:
def __init__(self, file=None):
***************
*** 38,43 ****
self.macros[entryname].append(line)
else:
! raise SyntaxError, "bad toplevel token %s, file %s, line %d" \
! % (tt, file, lexer.lineno)
# We're looking at start of an entry for a named machine or default.
--- 51,56 ----
self.macros[entryname].append(line)
else:
! raise NetrcParseError(
! "bad toplevel token %r" % tt, file, lexer.lineno)
# We're looking at start of an entry for a named machine or default.
***************
*** 55,59 ****
break
else:
! raise SyntaxError, "malformed %s entry %s terminated by %s" % (toplevel, entryname, repr(tt))
elif tt == 'login' or tt == 'user':
login = lexer.get_token()
--- 68,75 ----
break
else:
! raise NetrcParseError(
! "malformed %s entry %s terminated by %s"
! % (toplevel, entryname, repr(tt)),
! file, lexer.lineno)
elif tt == 'login' or tt == 'user':
login = lexer.get_token()
***************
*** 63,67 ****
password = lexer.get_token()
else:
! raise SyntaxError, "bad follower token %s, file %s, line %d"%(tt,file,lexer.lineno)
def authenticators(self, host):
--- 79,84 ----
password = lexer.get_token()
else:
! raise NetrcParseError("bad follower token %r" % tt,
! file, lexer.lineno)
def authenticators(self, host):