From 386fa7a674f077d54d48955cb1bbd969c632c8a8 Mon Sep 17 00:00:00 2001 From: Manuel Munz Date: Wed, 19 Sep 2012 06:27:51 +0000 Subject: applications/freifunk-widgets: remove order variable, fix html in rss view, fix search view --- .../model/cbi/freifunk/widgets/heightwidth.lua | 16 ++++ .../luasrc/model/cbi/freifunk/widgets/html.lua | 13 +++ .../luasrc/model/cbi/freifunk/widgets/iframe.lua | 13 +++ .../luasrc/model/cbi/freifunk/widgets/rssfeed.lua | 13 +++ .../luasrc/model/cbi/freifunk/widgets/search.lua | 13 +++ .../luasrc/model/cbi/freifunk/widgets/widget.lua | 7 +- .../cbi/freifunk/widgets/widgets_overview.lua | 15 +--- .../luasrc/view/freifunk/widgets/clear/main.htm | 14 ++++ .../luasrc/view/freifunk/widgets/html/main.htm | 14 ++++ .../luasrc/view/freifunk/widgets/iframe/main.htm | 14 ++++ .../luasrc/view/freifunk/widgets/rssfeed/main.htm | 98 ++++++++++++---------- .../luasrc/view/freifunk/widgets/search/main.htm | 24 +++++- 12 files changed, 194 insertions(+), 60 deletions(-) (limited to 'applications/luci-freifunk-widgets/luasrc') diff --git a/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/heightwidth.lua b/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/heightwidth.lua index b584b61ab..b572187bd 100644 --- a/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/heightwidth.lua +++ b/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/heightwidth.lua @@ -1,10 +1,26 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2012 Manuel Munz + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +]]-- + local map, section = ... local width = wdg:option(Value, "width", translate("Width")) width.rmempty = true +--[[ local height = wdg:option(Value, "height", translate("Height")) height.rmempty = true +height.optional = true +]]-- local pr = wdg:option(Value, "paddingright", translate("Padding right")) pr.rmempty = true diff --git a/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/html.lua b/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/html.lua index 0fb464f3e..367e8a269 100644 --- a/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/html.lua +++ b/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/html.lua @@ -1,3 +1,16 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2012 Manuel Munz + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +]]-- + local map, section = ... local utl = require "luci.util" local fs = require "nixio.fs" diff --git a/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/iframe.lua b/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/iframe.lua index 5f1a89471..b9cbcaee5 100644 --- a/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/iframe.lua +++ b/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/iframe.lua @@ -1,3 +1,16 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2012 Manuel Munz + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +]]-- + local map, section = ... local utl = require "luci.util" diff --git a/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/rssfeed.lua b/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/rssfeed.lua index 778b872bc..5df5a346f 100644 --- a/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/rssfeed.lua +++ b/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/rssfeed.lua @@ -1,3 +1,16 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2012 Manuel Munz + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +]]-- + local map, section = ... local utl = require "luci.util" diff --git a/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/search.lua b/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/search.lua index 4d861c5a0..735dc7cdf 100644 --- a/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/search.lua +++ b/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/search.lua @@ -1,3 +1,16 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2012 Manuel Munz + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +]]-- + local map, section = ... local utl = require "luci.util" diff --git a/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/widget.lua b/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/widget.lua index 368e560f4..5adfc8f85 100644 --- a/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/widget.lua +++ b/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/widget.lua @@ -36,12 +36,6 @@ en.rmempty = false local title = wdg:option(Value, "title", translate("Title")) title.rmempty = true -local order = wdg:option(Value, "order", translate("Order")) -order.default = "100" -order.placeholder = "100" -order.datatype = "integer" - - local form = loadfile( utl.libpath() .. "/model/cbi/freifunk/widgets/%s.lua" % widget ) @@ -49,5 +43,6 @@ local form = loadfile( if form then setfenv(form, getfenv(1))(m, wdg) end + return m diff --git a/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/widgets_overview.lua b/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/widgets_overview.lua index e0faef2ff..50771d7e0 100644 --- a/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/widgets_overview.lua +++ b/applications/luci-freifunk-widgets/luasrc/model/cbi/freifunk/widgets/widgets_overview.lua @@ -44,25 +44,19 @@ for k, v in ipairs(fs.dir('/usr/lib/lua/luci/view/freifunk/widgets/')) do end local title = wdg:option(Value, "title", translate("Title")) ---title.rmempty = true - - -local order = wdg:option(Value, "order", translate("Order")) -order.default = "100" -order.placeholder = "100" -order.datatype = "integer" +title.rmempty = true local width = wdg:option(Value, "width", translate("Width")) ---width.rmempty = true +width.rmempty = true local height = wdg:option(Value, "height", translate("Height")) ---height.rmempty = true +height.rmempty = true local pr = wdg:option(Value, "paddingright", translate("Padding right")) pr.rmempty = true function m.on_commit(self) - -- clean custom text files for elements which may have been deleted + -- clean custom text files whose config has been deleted local dir = "/usr/share/customtext/" local active = {} uci:foreach("freifunk-widgets", "widget", function(s) @@ -79,4 +73,3 @@ function m.on_commit(self) end return m - diff --git a/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/clear/main.htm b/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/clear/main.htm index 7669a58f4..df01839f4 100644 --- a/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/clear/main.htm +++ b/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/clear/main.htm @@ -1 +1,15 @@ +<% +--[[ +LuCI - Lua Configuration Interface + +Copyright 2012 Manuel Munz + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +]]-- +%>
diff --git a/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/html/main.htm b/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/html/main.htm index f59a9302d..87ad5b629 100644 --- a/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/html/main.htm +++ b/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/html/main.htm @@ -1,7 +1,21 @@ <% +--[[ +LuCI - Lua Configuration Interface + +Copyright 2012 Manuel Munz + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +]]-- + --local utl = require "luci.util" local fs = require "luci.fs" local title = data.title +local name = data['.name'] local file = "/usr/share/customtext/" .. name .. ".html" local text = fs.readfile(file) local width = data.width or "100%" diff --git a/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/iframe/main.htm b/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/iframe/main.htm index 7d8f087e4..f0d89d742 100644 --- a/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/iframe/main.htm +++ b/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/iframe/main.htm @@ -1,5 +1,19 @@ <% +--[[ +LuCI - Lua Configuration Interface + +Copyright 2012 Manuel Munz + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +]]-- + local url = data['url'] +local name = data['.name'] local title = data['title'] or "No title set" local height = data['height'] or "400px" if type(height) == "number" then diff --git a/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/rssfeed/main.htm b/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/rssfeed/main.htm index ad64da567..08fc550ec 100644 --- a/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/rssfeed/main.htm +++ b/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/rssfeed/main.htm @@ -1,4 +1,17 @@ <% +--[[ +LuCI - Lua Configuration Interface + +Copyright 2012 Manuel Munz + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +]]-- + local sys = require "luci.sys" local utl = require "luci.util" local fs = require "luci.fs" @@ -13,58 +26,59 @@ local width = data.width or "100%" if type(width) == "number" then width = width .. "px" end +local name = data['.name'] local cachetime = tonumber(data.cache) or 3600 cachefile = "/tmp/" .. name .. ".cache" %>
-
-

<%=title%>

+
+

<%=title%>

-<% if not url then %> - <%:No url found in config%> -<% else - local mtime = luci.fs.mtime(cachefile) or 0 - local now = os.time() - expire = mtime + cachetime + <% if not url then %> + <%:No url found in config%> + <% else + local mtime = luci.fs.mtime(cachefile) or 0 + local now = os.time() + expire = mtime + cachetime - if not fs.access(cachefile) or expire < now then - rss = sys.httpget(url) - if #rss == 0 then - %> - <%:Could not get rss data from%> <%=url%> - <% - else - local count = 0 - for item in string.gmatch(rss, "(.-)") do - if count < max then - local title = item:match("(.-)") - local link = item:match("(.-)") - local desc = item:match("(.-)") or "" - if title and link then - table.insert(output, { title = utl.pcdata(title), link = utl.pcdata(link) }) + if not fs.access(cachefile) or expire < now then + rss = sys.httpget(url) + if #rss == 0 then + %> + <%:Could not get rss data from%> <%=url%> + <% + else + local count = 0 + for item in string.gmatch(rss, "(.-)") do + if count < max then + local title = item:match("(.-)") + local link = item:match("(.-)") + local desc = item:match("(.-)") or "" + if title and link then + table.insert(output, { title = utl.pcdata(title), link = utl.pcdata(link) }) + end + count = count + 1 end - count = count + 1 + end + if count > 0 then + local file = io.open(cachefile, "w") + file:write(utl.serialize_data(output)) + file:close() end end - local file = io.open(cachefile, "w") - file:write(utl.serialize_data(output)) - file:close() + else + local file = assert(io.open(cachefile)) + output = utl.restore_data(file:read'*a') end - else - local file = assert(io.open(cachefile)) - output = utl.restore_data(file:read'*a') end -end -if #output > 0 then -%> -
    -<% - for k, v in ipairs(output) do -%> -
  • <%=v.title%>
  • -<% end %> -
-
+ if #output > 0 then + %> +
    + <% for k, v in ipairs(output) do %> +
  • <%=v.title%>
  • + <% end %> +
+ <%end%> +
-<%end%> diff --git a/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/search/main.htm b/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/search/main.htm index 97215aa3e..e319f15fb 100644 --- a/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/search/main.htm +++ b/applications/luci-freifunk-widgets/luasrc/view/freifunk/widgets/search/main.htm @@ -1,11 +1,33 @@ <% +--[[ +LuCI - Lua Configuration Interface + +Copyright 2012 Manuel Munz + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +]]-- local utl = require "luci.util" local title = luci.i18n.translate(data.title or "Search") +local name = data['.name'] local width = data.width or "100%" if type(width) == "number" then width = width .. "px" end + +local engines = {} +if type(data.engine) == "table" then + engines = data.engine +else + for k, v in ipairs(string.split(data.engine, " ")) do + table.insert(engines, v) + end +end %>
@@ -15,7 +37,7 @@ end
<% local checked = " checked" - for k, v in ipairs(data.engine) do + for k, v in ipairs(engines) do local e = utl.split(v, "|") local name = e[1] local url = e[2] -- cgit v1.2.3