Mercurial > genshi > mirror
comparison markup/template.py @ 80:e0957965553f trunk
* Improve template error messages
* Add the recently added support for seect('@*') to the TurboGears example.
author | cmlenz |
---|---|
date | Thu, 13 Jul 2006 19:13:02 +0000 |
parents | 46fed54f23cd |
children | d60486018004 |
comparison
equal
deleted
inserted
replaced
79:8d6bee631a58 | 80:e0957965553f |
---|---|
69 error.""" | 69 error.""" |
70 | 70 |
71 def __init__(self, message, filename='<string>', lineno=-1, offset=-1): | 71 def __init__(self, message, filename='<string>', lineno=-1, offset=-1): |
72 if isinstance(message, SyntaxError) and message.lineno is not None: | 72 if isinstance(message, SyntaxError) and message.lineno is not None: |
73 message = str(message).replace(' (line %d)' % message.lineno, '') | 73 message = str(message).replace(' (line %d)' % message.lineno, '') |
74 message = '%s (%s, line %d)' % (message, filename, lineno) | |
74 TemplateError.__init__(self, message) | 75 TemplateError.__init__(self, message) |
75 self.filename = filename | 76 self.filename = filename |
76 self.lineno = lineno | 77 self.lineno = lineno |
77 self.offset = offset | 78 self.offset = offset |
78 | 79 |
84 An unknown directive is any attribute using the namespace for directives, | 85 An unknown directive is any attribute using the namespace for directives, |
85 with a local name that doesn't match any registered directive. | 86 with a local name that doesn't match any registered directive. |
86 """ | 87 """ |
87 | 88 |
88 def __init__(self, name, filename='<string>', lineno=-1): | 89 def __init__(self, name, filename='<string>', lineno=-1): |
89 TemplateSyntaxError.__init__(self, 'Bad directive "%s"' % name.localname, | 90 msg = 'bad directive "%s" (%s, line %d)' % (name.localname, filename, |
90 filename, lineno) | 91 lineno) |
92 TemplateSyntaxError.__init__(self, msg, filename, lineno) | |
91 | 93 |
92 | 94 |
93 class TemplateNotFound(TemplateError): | 95 class TemplateNotFound(TemplateError): |
94 """Exception raised when a specific template file could not be found.""" | 96 """Exception raised when a specific template file could not be found.""" |
95 | 97 |