diff options
author | Ted Trask <ttrask01@yahoo.com> | 2015-11-20 21:46:04 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2015-11-20 21:46:04 +0000 |
commit | 92baed49c0b6780fbd55ebb2e0fb9b1ee13e220e (patch) | |
tree | 1032c944e2030d464f3384fdec47c89bd44ab5b7 /logfiles-model.lua | |
parent | c653804d7ca2c0b6c2c60b58f6cc41a6eb8b1519 (diff) | |
download | acf-alpine-baselayout-92baed49c0b6780fbd55ebb2e0fb9b1ee13e220e.tar.bz2 acf-alpine-baselayout-92baed49c0b6780fbd55ebb2e0fb9b1ee13e220e.tar.xz |
Better error handling for view/tail/download and fix download to use proper cfe for input
Diffstat (limited to 'logfiles-model.lua')
-rw-r--r-- | logfiles-model.lua | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/logfiles-model.lua b/logfiles-model.lua index fb19ec1..bf6aa4d 100644 --- a/logfiles-model.lua +++ b/logfiles-model.lua @@ -94,31 +94,34 @@ mymodule.get_filedetails = function(self, clientdata) break end end - local file = retval.value.filename.value if success then + local file = retval.value.filename.value local st = fs.stat(file) while st.type == "link" do st = fs.stat(posix.readlink(st.path)) end file = st.path - end - local filedetails = modelfunctions.getfiledetails(file, function(filename) return success end) - for n,v in pairs(filedetails.value) do - if n ~= "filename" then - retval.value[n] = v + + local filedetails = modelfunctions.getfiledetails(file) + for n,v in pairs(filedetails.value) do + if n ~= "filename" then + retval.value[n] = v + end + end + if filedetails.errtxt then + retval.errtxt = filedetails.errtxt + else + do_grep(retval.value.filecontent, retval.value.grep.value) end - end - if filedetails.errtxt then - retval.errtxt = filedetails.errtxt else - do_grep(retval.value.filecontent, retval.value.grep.value) + retval.errtxt = "Invalid log file" end return retval end mymodule.tail = function(self, clientdata) local retval = cfe({ type="group", value={}, label="Tail Logfile" }) - retval.value.filename = cfe({ label="File name", errtxt="File not found", key=true }) + retval.value.filename = cfe({ label="File name", key=true }) retval.value.offset = cfe({ value="0", label="File offset", key=true }) retval.value.grep = cfe({ label="Grep", key=true }) self.handle_clientdata(retval, clientdata) @@ -126,6 +129,7 @@ mymodule.tail = function(self, clientdata) retval.value.filesize = cfe({ value="0", label="File size" }) retval.value.filecontent = cfe({ type="longtext", label="File content" }) + retval.value.filename.errtxt = "File not found" local available_files = mymodule.get() for i,file in ipairs(available_files.value) do if ( file.value.filename.value == retval.value.filename.value ) then |