Revert external tree usage
[oweals/luci.git] / libs / web / luasrc / dispatcher.lua
index 37008b5946ae73ffabcaaacfb5e8d7a2f3028d6b..c863d9ff724e2dd2c2c51ebc64315026f688eaff 100644 (file)
@@ -129,7 +129,7 @@ end
 --- Dispatches a LuCI virtual path.
 -- @param request      Virtual path
 function dispatch(request)
-       --context._disable_memtrace = require "luci.debug".trap_memtrace()
+       --context._disable_memtrace = require "luci.debug".trap_memtrace("l")
        local ctx = context
        ctx.path = request
        ctx.urltoken   = ctx.urltoken or {}
@@ -223,7 +223,15 @@ function dispatch(request)
                        assert(media, "No valid theme found")
                end
 
-               local viewns = setmetatable({}, {__index=function(table, key)
+               tpl.context.viewns = setmetatable({
+                  write       = luci.http.write;
+                  include     = function(name) tpl.Template(name):render(getfenv(2)) end;
+                  translate   = function(...) return require("luci.i18n").translate(...) end;
+                  striptags   = util.striptags;
+                  media       = media;
+                  theme       = fs.basename(media);
+                  resource    = luci.config.main.resourcebase
+               }, {__index=function(table, key)
                        if key == "controller" then
                                return build_url()
                        elseif key == "REQUEST_URI" then
@@ -232,14 +240,6 @@ function dispatch(request)
                                return rawget(table, key) or _G[key]
                        end
                end})
-               tpl.context.viewns = viewns
-               viewns.write       = luci.http.write
-               viewns.include     = function(name) tpl.Template(name):render(getfenv(2)) end
-               viewns.translate   = function(...) return require("luci.i18n").translate(...) end
-               viewns.striptags   = util.striptags
-               viewns.media       = media
-               viewns.theme       = fs.basename(media)
-               viewns.resource    = luci.config.main.resourcebase
        end
 
        track.dependent = (track.dependent ~= false)