Mercurial > p > roundup > code
changeset 7999:310e19beba3e
fix: report filename if template file is invalid
A file name like .#issue.search.html causes a crash because _find
returns None not a tuple and unpacking fails.
Trap the TypeError and raise ValueError with message that includes the
basename of the file.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sun, 26 May 2024 11:14:10 -0400 |
| parents | 851ddd72f9ce |
| children | 683af7c57ce5 |
| files | roundup/cgi/engine_chameleon.py roundup/cgi/engine_zopetal.py |
| diffstat | 2 files changed, 11 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/roundup/cgi/engine_chameleon.py Sun May 26 00:33:43 2024 -0400 +++ b/roundup/cgi/engine_chameleon.py Sun May 26 11:14:10 2024 -0400 @@ -14,7 +14,12 @@ self.loader = chameleon.PageTemplateLoader(template_dir) def load(self, tplname): - src, filename = self._find(tplname) + try: + src, filename = self._find(tplname) + except TypeError as e: + raise ValueError("Unable to load template file basename: %s: %s" % ( + tplname, e)) + return RoundupPageTemplate(self.loader.load(src))
--- a/roundup/cgi/engine_zopetal.py Sun May 26 00:33:43 2024 -0400 +++ b/roundup/cgi/engine_zopetal.py Sun May 26 11:14:10 2024 -0400 @@ -22,7 +22,11 @@ def load(self, tplname): # find the source - src, filename = self._find(tplname) + try: + src, filename = self._find(tplname) + except TypeError as e: + raise ValueError("Unable to load template file basename: %s: %s" % ( + tplname, e)) # has it changed? try:
