summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--aconf/model/aaa.lua2
-rw-r--r--aconf/model/field.lua2
-rw-r--r--aconf/model/init.lua2
-rw-r--r--aconf/model/node.lua21
-rw-r--r--aconf/model/set.lua2
-rw-r--r--aconf/modules/network.lua4
-rw-r--r--server.lua2
7 files changed, 17 insertions, 18 deletions
diff --git a/aconf/model/aaa.lua b/aconf/model/aaa.lua
index 203b85c..c642984 100644
--- a/aconf/model/aaa.lua
+++ b/aconf/model/aaa.lua
@@ -90,7 +90,7 @@ Aaa.action_log = M.List{type=Record, addr=node.null_addr, visible=false}
function Aaa:validate()
local time = os.time()
- for _, action in node.pairs(self.action_log) do
+ for _, action in pairs(self.action_log) do
action.timestamp = time
node.insert(self.audit_trail, action)
end
diff --git a/aconf/model/field.lua b/aconf/model/field.lua
index cf14909..ca6bc1d 100644
--- a/aconf/model/field.lua
+++ b/aconf/model/field.lua
@@ -361,7 +361,7 @@ function M.TreeNode:save(context, value)
local new = self:load(context, {create=true})
local errors = err.ErrorDict()
- for k, v in node.pairs(value) do
+ for k, v in pairs(value) do
errors:collect(self.save_member, new, k, v)
end
errors:raise()
diff --git a/aconf/model/init.lua b/aconf/model/init.lua
index cab92e7..881acea 100644
--- a/aconf/model/init.lua
+++ b/aconf/model/init.lua
@@ -102,7 +102,7 @@ function M.Reference:_choice(context)
)
assert(isinstance(obj, node.Collection))
- for k, v in node.pairs(obj) do
+ for k, v in pairs(obj) do
local ch = {enabled=true}
if isinstance(v, node.TreeNode) then
diff --git a/aconf/model/node.lua b/aconf/model/node.lua
index bdf8311..b4fd685 100644
--- a/aconf/model/node.lua
+++ b/aconf/model/node.lua
@@ -66,6 +66,7 @@ function M.TreeNode:init(context, params)
mt.name = pth.name(mt.path)
mt.__eq = equal_tns
+ mt.__pairs = M.pairs
if not (mt.txn and mt.txn.user) then mt.privileged = true end
mt.escalate = mt.privileged and self or mt.class(
@@ -343,6 +344,13 @@ end
M.List = class(M.Collection)
+local function _ipairs(mt, i)
+ i = i + 1
+ local v = mt.load(i, {create=false})
+ if v == nil then return end
+ return i, v
+end
+
function M.List:init(context, params)
super(self, M.List):init(context, setdefaults(params, {dtype='list'}))
@@ -390,6 +398,8 @@ function M.List:init(context, params)
end
tmt._save(i, v)
end
+
+ function mt.__ipairs(t) return _ipairs, mt, 0 end
end
@@ -446,16 +456,5 @@ function M.pairs(tbl, dereference)
return pairs(res)
end
-local function _ipairs(mt, i)
- i = i + 1
- local v = mt.load(i, {create=false})
- if v == nil then return end
- return i, v
-end
-function M.ipairs(tbl)
- if not isinstance(tbl, M.TreeNode) then return ipairs(tbl) end
- return _ipairs, getmetatable(tbl), 0
-end
-
return M
diff --git a/aconf/model/set.lua b/aconf/model/set.lua
index 9b37ea0..ac8904b 100644
--- a/aconf/model/set.lua
+++ b/aconf/model/set.lua
@@ -27,7 +27,7 @@ function M.Set:init(context, params)
self, pth.wildcard, params.field
):normalize(value)
- for i, member in node.pairs(self) do
+ for i, member in pairs(self) do
if member == value then return i, value end
end
end
diff --git a/aconf/modules/network.lua b/aconf/modules/network.lua
index 34b4064..188ac28 100644
--- a/aconf/modules/network.lua
+++ b/aconf/modules/network.lua
@@ -93,7 +93,7 @@ end
function Interface:is_removable() return self.class == 'logical' end
function Interface:auto_set()
- for _, set in M.node.ipairs(self:fetch('../../enabled-ifaces')) do
+ for _, set in ipairs(self:fetch('../../enabled-ifaces')) do
if M.node.contains(set, self) then return set end
end
end
@@ -154,7 +154,7 @@ Interface.status = M.String{
compute=function(obj)
if obj.class == 'loopback' then return 'attached' end
- for _, iface in M.node.pairs(M.node.parent(obj)) do
+ for _, iface in pairs(M.node.parent(obj)) do
if (
iface.type == 'bond' and M.node.contains(iface.slaves, obj)
) or (
diff --git a/server.lua b/server.lua
index 5a3f081..0d28200 100644
--- a/server.lua
+++ b/server.lua
@@ -190,7 +190,7 @@ return function(env)
if isinstance(obj, mnode.TreeNode) then
local node = {}
- for k, v in mnode.pairs(obj) do
+ for k, v in pairs(obj) do
local readable = true
if isinstance(v, mnode.TreeNode) then