[change from 2000/08/11, propagating now to distutils copy]

Factored the guts of 'warn()' out to 'gen_error()', and added the
'error()' method (trivial thanks to the refactoring).
This commit is contained in:
Greg Ward 2000-09-16 18:06:31 +00:00
parent 60cd2864fe
commit f11296bdea

View file

@ -134,6 +134,22 @@ class TextFile:
self.current_line = None self.current_line = None
def gen_error (self, msg, line=None):
outmsg = []
if line is None:
line = self.current_line
outmsg.append(self.filename + ", ")
if type (line) in (ListType, TupleType):
outmsg.append("lines %d-%d: " % tuple (line))
else:
outmsg.append("line %d: " % line)
outmsg.append(str(msg))
return string.join(outmsg, "")
def error (self, msg, line=None):
raise ValueError, "error: " + self.gen_error(msg, line)
def warn (self, msg, line=None): def warn (self, msg, line=None):
"""Print (to stderr) a warning message tied to the current logical """Print (to stderr) a warning message tied to the current logical
line in the current file. If the current logical line in the line in the current file. If the current logical line in the
@ -142,15 +158,7 @@ class TextFile:
the current line number; it may be a list or tuple to indicate a the current line number; it may be a list or tuple to indicate a
range of physical lines, or an integer for a single physical range of physical lines, or an integer for a single physical
line.""" line."""
sys.stderr.write("warning: " + self.gen_error(msg, line) + "\n")
if line is None:
line = self.current_line
sys.stderr.write (self.filename + ", ")
if type (line) in (ListType, TupleType):
sys.stderr.write ("lines %d-%d: " % tuple (line))
else:
sys.stderr.write ("line %d: " % line)
sys.stderr.write (str (msg) + "\n")
def readline (self): def readline (self):