summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2015-12-30 13:38:14 +0000
committerTed Trask <ttrask01@yahoo.com>2015-12-30 13:54:13 +0000
commit94a0a302dab75c3a901c736a47b93b614d5e83d1 (patch)
tree86d29052748f3b913e31f1b4274cd61348567bcf
parent92baed49c0b6780fbd55ebb2e0fb9b1ee13e220e (diff)
downloadacf-alpine-baselayout-94a0a302dab75c3a901c736a47b93b614d5e83d1.tar.bz2
acf-alpine-baselayout-94a0a302dab75c3a901c736a47b93b614d5e83d1.tar.xz
Change logfiles filesize to size, size and mtime not user-friendly, use posix.stat over fs.stat, use new format functions
-rw-r--r--logfiles-model.lua43
-rw-r--r--logfiles-status-html.lsp18
-rw-r--r--logfiles-tail-html.lsp6
3 files changed, 29 insertions, 38 deletions
diff --git a/logfiles-model.lua b/logfiles-model.lua
index bf6aa4d..29233d7 100644
--- a/logfiles-model.lua
+++ b/logfiles-model.lua
@@ -9,9 +9,11 @@ format = require("acf.format")
-- Function to get detailed information on a specific file.
local function file_info ( path )
-- Check if file is in use
- local st = fs.stat(path)
+ local file = path
+ local st = posix.stat(file)
while st.type == "link" do
- st = fs.stat(posix.readlink(st.path))
+ file = posix.readlink(file)
+ st = posix.stat(file)
end
local size = st.size or "0"
local lastmod = st.mtime or "---"
@@ -27,16 +29,17 @@ local function recursedir(path, filearray)
for k,v in pairs(posix.dir(path) or {}) do
-- Ignore files that begins with a '.'
if not string.match(v, "^%.") then
- local f = path .. "/" .. v
+ local file = path .. "/" .. v
-- If subfolder exists, list files in this subfolder
- local st = fs.stat(f)
+ local st = posix.stat(file)
while st and st.type == "link" do
- st = fs.stat(posix.readlink(st.path))
+ file = posix.readlink(file)
+ st = posix.stat(file)
end
if st and st.type == "directory" then
- recursedir(f, filearray)
+ recursedir(file, filearray)
elseif st then
- table.insert(filearray, f)
+ table.insert(filearray, file)
end
end
end
@@ -58,10 +61,10 @@ local function list_files ( ... )
-- Get info on this specific file and put it in a table
local lastmod,size,fileinuseresult = file_info(v)
local filename = cfe({ value=v, label="File name" })
- local filesize = cfe({ value=size, label="File size" })
+ local size = cfe({ value=size, label="File size" })
local mtime = cfe({ value=lastmod, label="File date" })
local inuse = cfe({ type="boolean", value=fileinuseresult, label="File in use" })
- table.insert ( listed_files , cfe({ type="group", value={filename=filename, filesize=filesize, mtime=mtime,
+ table.insert ( listed_files , cfe({ type="group", value={filename=filename, size=size, mtime=mtime,
inuse=inuse, label="File details"} }) )
end
table.sort(listed_files, function (a,b) return (a.value.filename.value < b.value.filename.value) end )
@@ -96,11 +99,11 @@ mymodule.get_filedetails = function(self, clientdata)
end
if success then
local file = retval.value.filename.value
- local st = fs.stat(file)
+ local st = posix.stat(file)
while st.type == "link" do
- st = fs.stat(posix.readlink(st.path))
+ file = posix.readlink(file)
+ st = posix.stat(file)
end
- file = st.path
local filedetails = modelfunctions.getfiledetails(file)
for n,v in pairs(filedetails.value) do
@@ -126,7 +129,7 @@ mymodule.tail = function(self, clientdata)
retval.value.grep = cfe({ label="Grep", key=true })
self.handle_clientdata(retval, clientdata)
- retval.value.filesize = cfe({ value="0", label="File size" })
+ retval.value.size = cfe({ value="0", label="File size" })
retval.value.filecontent = cfe({ type="longtext", label="File content" })
retval.value.filename.errtxt = "File not found"
@@ -143,10 +146,10 @@ mymodule.tail = function(self, clientdata)
f:seek("set", offset)
end
retval.value.filecontent.value = f:read("*all")
- retval.value.filesize.value = f:seek()
+ retval.value.size.value = f:seek()
else
- retval.value.filesize.value = f:seek("end")
- retval.value.offset.value = retval.value.filesize.value
+ retval.value.size.value = f:seek("end")
+ retval.value.offset.value = retval.value.size.value
end
f:close()
do_grep(retval.value.filecontent, retval.value.grep.value)
@@ -184,11 +187,13 @@ mymodule.delete = function (self, filetodelete)
success = false
filetodelete.value.filename.errtxt = "File in use"
else
- local st = fs.stat(filetodelete.value.filename.value)
+ local file = filetodelete.value.filename.value
+ local st = posix.stat(file)
while st.type == "link" do
- st = fs.stat(posix.readlink(st.path))
+ file = posix.readlink(file)
+ st = posix.stat(file)
end
- local status, err = os.remove( st.path )
+ local status, err = os.remove(file)
if err then
success = false
filetodelete.value.filename.errtxt = err
diff --git a/logfiles-status-html.lsp b/logfiles-status-html.lsp
index e85a9ba..688d975 100644
--- a/logfiles-status-html.lsp
+++ b/logfiles-status-html.lsp
@@ -2,20 +2,6 @@
<% htmlviewfunctions = require("htmlviewfunctions") %>
<% html = require("acf.html") %>
-<%
-function convertsize(size)
- if string.find(size, "k$") then
- return tonumber(string.match(size, "[%d.]*")) * 1024.0
- elseif string.find(size, "M$") then
- return tonumber(string.match(size, "[%d.]*")) * 1024.0 * 1024.0
- elseif string.find(size, "G$") then
- return tonumber(string.match(size, "[%d.]*")) + 1024.0 * 1024.0 * 1024.0
- else
- return tonumber(string.match(size, "[%d.]*"))
- end
-end
-%>
-
<script type="text/javascript">
if (typeof jQuery == 'undefined') {
document.write('<script type="text/javascript" src="<%= html.html_escape(page_info.wwwprefix) %>/js/jquery-latest.js"><\/script>');
@@ -71,8 +57,8 @@ end
<td><% htmlviewfunctions.displayitem(cfe({type="link", value={filename=filename}, label="", option="View", action="view" }), page_info, -1) %></td>
<td><% htmlviewfunctions.displayitem(cfe({type="link", value={filename=filename}, label="", option="Tail", action="tail" }), page_info, -1) %></td>
<td><% htmlviewfunctions.displayitem(cfe({type="link", value={filename=filename, viewtype=viewtype}, label="", option="Download", action="download" }), page_info, -1) %></td>
- <td><span class="hide"><%= convertsize(file.value.filesize.value) %>b</span><%= html.html_escape(file.value.filesize.value) %></td>
- <td><%= html.html_escape(file.value.mtime.value) %></td>
+ <td><span class="hide"><%= html.html_escape(file.value.size.value) %>b</span><%= format.formatfilesize(file.value.size.value) %></td>
+ <td><%= format.formattime(file.value.mtime.value) %></td>
<td><%= html.html_escape(file.value.filename.value) %></td>
</tr>
<% end %>
diff --git a/logfiles-tail-html.lsp b/logfiles-tail-html.lsp
index c147f8a..8f2184f 100644
--- a/logfiles-tail-html.lsp
+++ b/logfiles-tail-html.lsp
@@ -18,7 +18,7 @@
'<%= html.html_escape(page_info.script .. page_info.prefix .. page_info.controller .. "/" .. page_info.action) %>',
{filename:'<% io.write(html.html_escape(form.value.filename.value)) if form.value.grep.value ~= "" then io.write("',grep:'"..html.html_escape(form.value.grep.value)) end %>', offset:currentoffset, viewtype:'json'},
function(data) {
- if (currentoffset != data.value.filesize.value){
+ if (currentoffset != data.value.size.value){
/* Before updating content, determine where we're scrolled to. If we're within
25 pixels of the bottom, we'll stick to the bottom. */
@@ -41,7 +41,7 @@
else
content.scrollTop = content.scrollHeight;
- currentoffset = data.value.filesize.value;
+ currentoffset = data.value.size.value;
$(".left:contains('File size')").next().text(currentoffset);
};
if (started) {
@@ -69,7 +69,7 @@
<%
local header_level = htmlviewfunctions.displaysectionstart(form, page_info)
htmlviewfunctions.displayitem(form.value.filename)
-htmlviewfunctions.displayitem(form.value.filesize)
+htmlviewfunctions.displayitem(form.value.size)
if form.value.grep.value ~= "" then
htmlviewfunctions.displayitem(form.value.grep)
end