summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2013-12-16 16:56:46 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2013-12-16 16:56:46 +0000
commit604cd9139037140ebca8260b025ddfe017fc9495 (patch)
tree1c8b2c65796b0ab198239211df9feb74a4c4d118
parent57dbbe6c803c38e6759696742252cbe96bb138d7 (diff)
downloadlua-aports-604cd9139037140ebca8260b025ddfe017fc9495.tar.bz2
lua-aports-604cd9139037140ebca8260b025ddfe017fc9495.tar.xz
aports.lua: new api for each_aport iterator
-rw-r--r--aports.lua14
1 files changed, 8 insertions, 6 deletions
diff --git a/aports.lua b/aports.lua
index 45799c0..a15a45e 100644
--- a/aports.lua
+++ b/aports.lua
@@ -287,13 +287,15 @@ function Aports:each_pkg(pkg, f)
end)
end
-function Aports:foreach_aport(f)
- self:foreach(function(pkgname)
- self:foreach_pkg(pkgname, function(i, pkg)
- if pkgname == pkg.pkgname then
- f(pkg)
+function Aports:each_aport()
+ return coroutine.wrap(function()
+ for pkgname,v in self:each() do
+ for _,pkg in self:each_pkg(pkgname) do
+ if pkgname == pkg.pkgname then
+ coroutine.yield(pkg)
+ end
end
- end)
+ end
end)
end