* Remove ffluci.util.__file__ as it relies on debug information
authorSteven Barth <steven@midlink.org>
Sat, 5 Apr 2008 18:35:33 +0000 (18:35 +0000)
committerSteven Barth <steven@midlink.org>
Sat, 5 Apr 2008 18:35:33 +0000 (18:35 +0000)
* Added ffluci.debug for things that rely on debug information
* Fixed a bug regarding path detection when Luci is bytecompiled

Makefile
src/ffluci/cbi.lua
src/ffluci/config.lua
src/ffluci/debug.lua [new file with mode: 0644]
src/ffluci/i18n.lua
src/ffluci/menu.lua
src/ffluci/template.lua
src/ffluci/util.lua

index 0aefd193c1ecaa209dfbffa63eea3b0d9defbe34..57b3efd629fe6f73fc2e281ca4aab581c3a5d485 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 LUAC = luac
 LUAC_OPTIONS = -s
 
-FILES = 
+FILES = ffluci/debug.lua
 
 CFILES = ffluci/util.lua ffluci/http.lua ffluci/fs.lua \
 ffluci/sys.lua ffluci/model/uci.lua ffluci/model/ipkg.lua \
index 5bc40499c827aeecee7942fb00b6c5d6d68e3b33..1ccf2e56d22a3b348eddf695afde768e0d5742f3 100644 (file)
@@ -38,8 +38,9 @@ local instanceof = ffluci.util.instanceof
 function load(cbimap)
        require("ffluci.fs")
        require("ffluci.i18n")
+       require("ffluci.config")
        
-       local cbidir = ffluci.fs.dirname(ffluci.util.__file__()) .. "/model/cbi/"
+       local cbidir = ffluci.config.path .. "/model/cbi/"
        local func, err = loadfile(cbidir..cbimap..".lua")
        
        if not func then
index 8b94db8089679e5290b3d1f2d1f5cad6d19b358a..8b1a73dc7e423bce340d30dc24efd1bcb1c9b87c 100644 (file)
@@ -28,6 +28,10 @@ limitations under the License.
 module("ffluci.config", package.seeall)
 require("ffluci.model.uci")
 require("ffluci.util")
+require("ffluci.debug")
+
+-- Our path (wtf Lua lacks __file__ support)
+path = ffluci.debug.path
 
 -- Warning! This is only for fallback and compatibility purporses! --
 main = {}
diff --git a/src/ffluci/debug.lua b/src/ffluci/debug.lua
new file mode 100644 (file)
index 0000000..f1132ed
--- /dev/null
@@ -0,0 +1,2 @@
+module("ffluci.debug", package.seeall)
+path = require("ffluci.fs").dirname(debug.getinfo(1, 'S').source:sub(2))
\ No newline at end of file
index c362d3e5f06d2458a7aac3388ae88df103f5d22b..11f4afe871ea302287ee02d3b5188f8e43600737 100644 (file)
@@ -26,12 +26,10 @@ limitations under the License.
 
 module("ffluci.i18n", package.seeall)
 
-require("ffluci.fs")
-require("ffluci.util")
 require("ffluci.config")
 
 table   = {}
-i18ndir = ffluci.fs.dirname(ffluci.util.__file__()) .. "/i18n/"
+i18ndir = ffluci.config.path .. "/i18n/"
 
 -- Clears the translation table
 function clear()
index cbf47e2e3edcbc5e1a2a0c63999e19fe380594c8..5a5f421e9dc125066623dfefb40338a5ce401e81 100644 (file)
@@ -29,9 +29,10 @@ require("ffluci.fs")
 require("ffluci.util")
 require("ffluci.template")
 require("ffluci.i18n")
+require("ffluci.config")
 
 -- Default modelpath
-modelpath = ffluci.fs.dirname(ffluci.util.__file__()) .. "/model/menu/"
+modelpath = ffluci.config.path .. "/model/menu/"
 
 -- Menu definition extra scope
 scope = {
index 52bebbcf4a69e6ba0ca6d4a7cc649b3c07551ffe..589f43c679c1fd5d32a21c84b8267e8e92430a94 100644 (file)
@@ -31,7 +31,7 @@ require("ffluci.fs")
 require("ffluci.i18n")
 require("ffluci.model.uci")
 
-viewdir = ffluci.fs.dirname(ffluci.util.__file__()) .. "/view/"
+viewdir = ffluci.config.path .. "/view/"
 
 
 -- Compile modes:
index a33d141e60e6c894876ffba8a34efa9310aeacb0..dfc88e3e41fd1cf552ff8f21c10a76d44853994d 100644 (file)
@@ -205,10 +205,4 @@ function validate(value, cast_number, cast_int)
        end
        
        return value
-end
-
-
--- Returns the filename of the calling script
-function __file__()
-       return debug.getinfo(2, 'S').source:sub(2)
 end
\ No newline at end of file