<%# 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 %>
 
<%:Package name%>
<%:Version%>
<% local empty = true; luci.model.ipkg.list_installed(querypat, function(n, v, s, d) empty = false; filter[n] = true %>
<%=luci.util.pcdata(n)%>
<%=luci.util.pcdata(v)%>
<% end) %> <% if empty then %>
 
<%:none%>
<%:none%>
<% end %>
<% else %>
<% if not querypat then %>
<% end %>
 
<%:Package name%>
<%:Version%>
<%:Size (.ipk)%>
<%:Description%>
<% local empty = true; opkg_list(querypat or letterpat, function(n, v, s, d) if filter[n] then return end; empty = false %>
<%=luci.util.pcdata(n)%>
<%=luci.util.pcdata(v)%>
<%=luci.util.pcdata(s)%>
<%=luci.util.pcdata(d)%>
<% end) %> <% if empty then %>
 
<%:none%>
<%:none%>
<%:none%>
<%:none%>
<% end %>
<% if not querypat then %>
<% end %>
<% end %>
<%+footer%>