* luci/statistics: update config generator
authorJo-Philipp Wich <jow@openwrt.org>
Tue, 3 Jun 2008 19:22:55 +0000 (19:22 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Tue, 3 Jun 2008 19:22:55 +0000 (19:22 +0000)
applications/luci-statistics/root/usr/bin/stat-genconfig

index 052093b47aed19ebf19d2732aea2dfbb9dca259d..6241e9814565698a1ede8790c20d7f2b319999c8 100755 (executable)
@@ -61,12 +61,20 @@ function config_generic( c, singles, bools, lists, nopad )
 
                if type(singles) == "table" then
                        for i, key in ipairs( singles ) do
+                               if preprocess[key] then
+                                       c[key] = preprocess[key](c[key])
+                               end
+
                                str = str .. _string( c[key], key, nopad )
                        end
                end
 
                if type(bools) == "table" then
                        for i, key in ipairs( bools ) do
+                               if preprocess[key] then
+                                       c[key] = preprocess[key](c[key])
+                               end
+
                                str = str .. _bool( c[key], key, nopad )
                        end
                end
@@ -163,6 +171,10 @@ function _list_expand( c, l, nopad )
 
        for i, n in ipairs(l) do
                if c[n] then
+                       if preprocess[n] then
+                               c[n] = preprocess[n](c[n])
+                       end
+
                        if n:find("(%w+)ses") then
                                k = n:gsub("(%w+)ses", "%1s")
                        else
@@ -229,7 +241,7 @@ end
 
 plugins = {
        collectd = {
-               { "BaseDir", "Include", "PIDFile", "PluginDir", "TypesDB", "Interval", "ReadThreads" },
+               { "BaseDir", "Include", "PIDFile", "PluginDir", "TypesDB", "Interval", "ReadThreads", "Hostname" },
                { },
                { }
        },
@@ -335,7 +347,16 @@ plugins = {
                { },
                { }
        },
+}
 
+preprocess = {
+       RRATimespans = function(val)
+               local rv = { }
+               for time in val:gmatch("[^%s]+") do
+                       table.insert( rv, luci.util.parse_units(time) )
+               end
+               return table.concat(rv, " ")
+       end
 }