diff options
author | Steven Barth <steven@midlink.org> | 2008-05-24 14:11:15 +0000 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2008-05-24 14:11:15 +0000 |
commit | 427dd0bd1dcaf081b21be96d6f0e73d542dd2f08 (patch) | |
tree | 07ffe38a02af13aaab512307addf696a2a814a4d /core/src | |
parent | f920f79b643b2a2c969228e06b4b9c5fcd097fe0 (diff) |
* Added support for first-level controllers
* Added several posix functions to ffluci.fs
* Added ffluci.util.combine
Diffstat (limited to 'core/src')
-rw-r--r-- | core/src/dispatcher.lua | 10 | ||||
-rw-r--r-- | core/src/fs.lua | 14 | ||||
-rw-r--r-- | core/src/util.lua | 12 |
3 files changed, 33 insertions, 3 deletions
diff --git a/core/src/dispatcher.lua b/core/src/dispatcher.lua index a05c8805cb..e820a8864b 100644 --- a/core/src/dispatcher.lua +++ b/core/src/dispatcher.lua @@ -126,8 +126,14 @@ end function createindex() local root = ffluci.sys.libpath() .. "/controller/" local suff = ".lua" - for i,c in ipairs(ffluci.fs.glob(root .. "*/*" .. suff)) do - c = "ffluci.controller." .. c:sub(#root+1, #c-#suff):gsub("/", ".", 1) + + local controllers = ffluci.util.combine( + ffluci.fs.glob(root .. "*" .. suff), + ffluci.fs.glob(root .. "*/*" .. suff) + ) + + for i,c in ipairs(controllers) do + c = "ffluci.controller." .. c:sub(#root+1, #c-#suff):gsub("/", ".") stat, mod = pcall(require, c) if stat and mod and type(mod.index) == "function" then diff --git a/core/src/fs.lua b/core/src/fs.lua index 4639ac4a86..70962ba59d 100644 --- a/core/src/fs.lua +++ b/core/src/fs.lua @@ -83,4 +83,16 @@ dir = posix.dir mkdir = posix.mkdir -- Alias for posix.rmdir -rmdir = posix.rmdir
\ No newline at end of file +rmdir = posix.rmdir + +-- Alias for posix.stat +stat = posix.stat + +-- Alias for posix.chmod +chmod = posix.chmod + +-- Alias for posix.link +link = posix.link + +-- Alias for posix.unlink +unlink = posix.unlink
\ No newline at end of file diff --git a/core/src/util.lua b/core/src/util.lua index 9e3c7f25e9..c7dba31969 100644 --- a/core/src/util.lua +++ b/core/src/util.lua @@ -73,6 +73,18 @@ function clone(object, deep) end +-- Combines two or more numerically indexed tables into one +function combine(...) + local result = {} + for i, a in ipairs(arg) do + for j, v in ipairs(a) do + table.insert(result, v) + end + end + return result +end + + -- Checks whether a table has an object "value" in it function contains(table, value) for k,v in pairs(table) do |