Skip to content

Commit f2cf3bf

Browse files
committed
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.
1 parent 39fdaed commit f2cf3bf

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

roundup/cgi/engine_chameleon.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,12 @@ def __init__(self, template_dir):
1414
self.loader = chameleon.PageTemplateLoader(template_dir)
1515

1616
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+
1823
return RoundupPageTemplate(self.loader.load(src))
1924

2025

roundup/cgi/engine_zopetal.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@ def __init__(self, template_dir):
2222

2323
def load(self, tplname):
2424
# find the source
25-
src, filename = self._find(tplname)
25+
try:
26+
src, filename = self._find(tplname)
27+
except TypeError as e:
28+
raise ValueError("Unable to load template file basename: %s: %s" % (
29+
tplname, e))
2630

2731
# has it changed?
2832
try:

0 commit comments

Comments
 (0)