projects
/
project
/
luci.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
171cbec
)
libs/web: Return more verbose error messages when template execution fails
author
Steven Barth
<steven@midlink.org>
Sat, 30 Aug 2008 20:32:00 +0000
(20:32 +0000)
committer
Steven Barth
<steven@midlink.org>
Sat, 30 Aug 2008 20:32:00 +0000
(20:32 +0000)
libs/web/luasrc/template.lua
patch
|
blob
|
history
diff --git
a/libs/web/luasrc/template.lua
b/libs/web/luasrc/template.lua
index
907403f
..
d49bcea
100644
(file)
--- a/
libs/web/luasrc/template.lua
+++ b/
libs/web/luasrc/template.lua
@@
-144,6
+144,7
@@
setmetatable(Template.cache, {__mode = "v"})
-- Constructor - Reads and compiles the template on-demand
function Template.__init__(self, name)
self.template = self.cache[name]
-- Constructor - Reads and compiles the template on-demand
function Template.__init__(self, name)
self.template = self.cache[name]
+ self.name = name
-- Create a new namespace for this template
self.viewns = {}
-- Create a new namespace for this template
self.viewns = {}
@@
-226,7
+227,10
@@
function Template.render(self, scope)
luci.util.updfenv(self.template, self.viewns)
-- Now finally render the thing
luci.util.updfenv(self.template, self.viewns)
-- Now finally render the thing
- self.template()
+ local stat, err = luci.util.copcall(self.template)
+ if not stat then
+ error("Error in template %s: %s" % {self.name, err})
+ end
-- Reset environment
setfenv(self.template, oldfenv)
-- Reset environment
setfenv(self.template, oldfenv)