<%# Copyright 2008 Steven Barth Copyright 2008-2010 Jo-Philipp Wich Licensed to the public under the Apache License 2.0. -%> <%- local opkg = require "luci.model.ipkg" local fs = require "nixio.fs" local wa = require "luci.tools.webadmin" local rowcnt = 1 function rowstyle() rowcnt = rowcnt + 1 return (rowcnt % 2) + 1 end local fstat = fs.statvfs(opkg.overlay_root()) local space_total = fstat and fstat.blocks or 0 local space_free = fstat and fstat.bfree or 0 local space_used = space_total - space_free local used_perc = math.floor(0.5 + ((space_total > 0) and ((100 / space_total) * space_used) or 100)) local free_byte = space_free * fstat.frsize local filter = { } local opkg_list = luci.model.ipkg.list_all local querypat if query and #query > 0 then querypat = '*%s*' % query opkg_list = luci.model.ipkg.find end local letterpat if letter == 35 then letterpat = "[^a-z]*" else letterpat = string.char(letter, 42) -- 'A' '*' end -%> <%+header%>

<%:Software%>

<% if (install and next(install)) or (remove and next(remove)) or update or upgrade then %>
<% if #stdout > 0 then %>
<%=pcdata(stdout)%>
<% end %> <% if #stderr > 0 then %>
<%=pcdata(stderr)%>
<% end %>
<% end %> <% if querypat then %>
<%:Displaying only packages containing%> "<%=pcdata(query)%>"
<% end %> <% if no_lists or old_lists then %>
<% if old_lists then %> <%:Package lists are older than 24 hours%> <% else %> <%:No package lists available%> <% end %>
<% end %>
<%:Free space%>: <%=(100-used_perc)%>% (<%=wa.byte_format(free_byte)%>)
 

<%:Status%>

<% if display ~= "available" then %>
<% local empty = true; luci.model.ipkg.list_installed(querypat, function(n, v, s, d) empty = false; filter[n] = true %> <% end) %> <% if empty then %> <% end %>
  <%:Package name%> <%:Version%>
<%:Remove%>
<%=luci.util.pcdata(n)%> <%=luci.util.pcdata(v)%>
  <%:none%> <%:none%>
<% else %>
<% if not querypat then %>
<% end %> <% local empty = true; opkg_list(querypat or letterpat, function(n, v, s, d) if filter[n] then return end; empty = false %> <% end) %> <% if empty then %> <% end %>
  <%:Package name%> <%:Version%> <%:Size (.ipk)%> <%:Description%>
<%:Install%>
<%=luci.util.pcdata(n)%> <%=luci.util.pcdata(v)%> <%=luci.util.pcdata(s)%> <%=luci.util.pcdata(d)%>
  <%:none%> <%:none%> <%:none%> <%:none%>
<% if not querypat then %>
<% end %>
<% end %>
<%+footer%>