Edgewall Software

Changeset 514 for trunk/genshi/input.py


Ignore:
Timestamp:
Mar 20, 2007, 7:24:11 PM (17 years ago)
Author:
cmlenz
Message:

More work to include absolute file paths in exceptions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/genshi/input.py

    r511 r514  
    2020import HTMLParser as html
    2121import htmlentitydefs
     22import os
    2223from StringIO import StringIO
    2324
     
    4849    parsed."""
    4950
    50     def __init__(self, message, filename='<string>', lineno=-1, offset=-1):
     51    def __init__(self, message, filename=None, lineno=-1, offset=-1):
     52        self.msg = message
     53        if filename:
     54            message += ', in ' + os.path.basename(filename)
    5155        Exception.__init__(self, message)
    52         self.msg = message
    53         self.filename = filename
     56        self.filename = filename or '<string>'
    5457        self.lineno = lineno
    5558        self.offset = offset
     
    143146            except expat.ExpatError, e:
    144147                msg = str(e)
    145                 if self.filename:
    146                     msg += ', in ' + self.filename
    147148                raise ParseError(msg, self.filename, e.lineno, e.offset)
    148149        return Stream(_generate()).filter(_coalesce)
     
    294295            except html.HTMLParseError, e:
    295296                msg = '%s: line %d, column %d' % (e.msg, e.lineno, e.offset)
    296                 if self.filename:
    297                     msg += ', in %s' % self.filename
    298297                raise ParseError(msg, self.filename, e.lineno, e.offset)
    299298        return Stream(_generate()).filter(_coalesce)
Note: See TracChangeset for help on using the changeset viewer.