Mercurial > p > roundup > code
comparison roundup/cgi/engine_chameleon.py @ 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 | ac0802452818 |
| children |
comparison
equal
deleted
inserted
replaced
| 7998:851ddd72f9ce | 7999:310e19beba3e |
|---|---|
| 12 def __init__(self, template_dir): | 12 def __init__(self, template_dir): |
| 13 self.template_dir = template_dir | 13 self.template_dir = template_dir |
| 14 self.loader = chameleon.PageTemplateLoader(template_dir) | 14 self.loader = chameleon.PageTemplateLoader(template_dir) |
| 15 | 15 |
| 16 def load(self, tplname): | 16 def load(self, tplname): |
| 17 src, filename = self._find(tplname) | 17 try: |
| 18 src, filename = self._find(tplname) | |
| 19 except TypeError as e: | |
| 20 raise ValueError("Unable to load template file basename: %s: %s" % ( | |
| 21 tplname, e)) | |
| 22 | |
| 18 return RoundupPageTemplate(self.loader.load(src)) | 23 return RoundupPageTemplate(self.loader.load(src)) |
| 19 | 24 |
| 20 | 25 |
| 21 class RoundupPageTemplate(object): | 26 class RoundupPageTemplate(object): |
| 22 def __init__(self, pt): | 27 def __init__(self, pt): |
