From eb36e4c9737dee9dd3aaef56abcfcf6c407bd100 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Wed, 3 Sep 2008 13:51:14 +0000 Subject: Added javascript tail functionality to logfiles. git-svn-id: svn://svn.alpinelinux.org/acf/alpine-baselayout/trunk@1441 ab2d0c66-481e-0410-8bed-d214d4d58bed --- logfiles-model.lua | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'logfiles-model.lua') diff --git a/logfiles-model.lua b/logfiles-model.lua index 2ac4f5d..54aceee 100644 --- a/logfiles-model.lua +++ b/logfiles-model.lua @@ -76,6 +76,38 @@ get_filedetails = function (path) return filedetails end +tail = function(path, offset) + local filename = cfe({ value=path, label="File name", errtxt="File not found" }) + local filesize = cfe({ value="0", label="File size" }) + local filecontent = cfe({ type="longtext", label="File content" }) + local fileoffset = cfe({ value="0", label="File offset" }) + + local available_files = get() + for i,file in ipairs(available_files.value) do + if ( file.value.filename.value == path ) then + filename.errtxt = nil + local f = io.open(path) + if tonumber(offset) then + fileoffset.value = offset + offset = tonumber(offset) + if offset < 0 then + f:seek("end", offset) + else + f:seek("set", offset) + end + filecontent.value = f:read("*all") + filesize.value = f:seek() + else + filesize.value = f:seek("end") + fileoffset.value = filesize.value + end + f:close() + break + end + end + + return cfe({ type="group", value={filename=filename, filecontent=filecontent, filesize=filesize, fileoffset=fileoffset}, label="Tail Config file details" }) +end get = function () -- These folders (and their subfolers) are going to be listed -- cgit v1.2.3