diff options
author | Ted Trask <ttrask01@yahoo.com> | 2015-12-30 13:38:14 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2015-12-30 13:54:13 +0000 |
commit | 94a0a302dab75c3a901c736a47b93b614d5e83d1 (patch) | |
tree | 86d29052748f3b913e31f1b4274cd61348567bcf | |
parent | 92baed49c0b6780fbd55ebb2e0fb9b1ee13e220e (diff) | |
download | acf-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.lua | 43 | ||||
-rw-r--r-- | logfiles-status-html.lsp | 18 | ||||
-rw-r--r-- | logfiles-tail-html.lsp | 6 |
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 |