modules/freifunk: When olsrd was loaded but there were no neighbors then the page...
authorManuel Munz <freifunk@somakoma.de>
Sat, 15 Jan 2011 18:13:19 +0000 (18:13 +0000)
committerManuel Munz <freifunk@somakoma.de>
Sat, 15 Jan 2011 18:13:19 +0000 (18:13 +0000)
modules/freifunk/luasrc/view/freifunk-services/services.htm

index 3506d27d9cc5eca55840b4380592dbc962490b0c..c9385cd57693f04fcc6c2eec89b4dacd30979ead 100644 (file)
@@ -1,27 +1,30 @@
 <%+header%>
 
 <%
-require("luci.fs")
-require("luci.util")
+local fs  = require "luci.fs"
+local utl = require "luci.util"
 
 -- check if nameservice plugin is enabled and where to find the services file
 local has_services = false
+
 local uci = require "luci.model.uci".cursor()
 uci:foreach("olsrd", "LoadPlugin", function(s)
        if s.library == "olsrd_nameservice.so.0.3" then
-               if s.services_file then
+               if s.services_file and fs.access(s.services_file) then
                        has_services = true
                        services_file = s.services_file
                else
-                       has_services = true
-                       services_file = "/var/run/services_olsr"
+                       if fs.access("/var/run/services_olsr") then
+                               has_services = true
+                               services_file = "/var/run/services_olsr"
+                       end
                end
        end
 end)
 
 
 function fetch_services()
-       local rawdata = luci.fs.readfile(services_file)
+       local rawdata = fs.readfile(services_file)
 
        if #rawdata == 0 then
                return nil
@@ -29,7 +32,7 @@ function fetch_services()
 
        local data = {}
 
-       local tables = luci.util.split(luci.util.trim(rawdata), "\n", nil, true)
+       local tables = utl.split(utl.trim(rawdata), "\n", nil, true)
        -- remove the first 3 lines
        table.remove(tables,1)
        table.remove(tables,1)
@@ -40,7 +43,7 @@ function fetch_services()
        table.remove(tables)
 
        for i, tbl in ipairs(tables) do
-               local lines = luci.util.split(tbl, "\n", nil, true)
+               local lines = utl.split(tbl, "\n", nil, true)
        end
        
        return tables
@@ -64,7 +67,7 @@ end
        for k, line in ipairs(table) do
                local field = {}
                -- split line at # and |, 1=url, 2=proto, 3=description, 4=source
-               local field = luci.util.split(line, "[#|]", split, true)
+               local field = utl.split(line, "[#|]", split, true)
                local url,descr,origin = pcdata(field[1]),pcdata(field[3]),pcdata(field[4])
                %>
                                        <tr class="cbi-section-table-row cbi-rowstyle-<%=i%>">