summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2007-11-02 12:22:59 +0000
committerMika Havela <mika.havela@gmail.com>2007-11-02 12:22:59 +0000
commitf3239187f55c221503c5fb4572c5e76a5799bed6 (patch)
treeca0ccac3a10eff5398ec25dda12ea2d9d1d92d26
parentb86905843425ecbaed5a86986d40796d80482758 (diff)
downloadacf-alpine-baselayout-f3239187f55c221503c5fb4572c5e76a5799bed6.tar.bz2
acf-alpine-baselayout-f3239187f55c221503c5fb4572c5e76a5799bed6.tar.xz
GET metod starting to take form
git-svn-id: svn://svn.alpinelinux.org/acf/alpine-baselayout/trunk@258 ab2d0c66-481e-0410-8bed-d214d4d58bed
-rw-r--r--logfiles-controller.lua2
-rw-r--r--logfiles-model.lua61
-rw-r--r--logfiles-read-html.lsp30
3 files changed, 48 insertions, 45 deletions
diff --git a/logfiles-controller.lua b/logfiles-controller.lua
index 1770754..86d24b9 100644
--- a/logfiles-controller.lua
+++ b/logfiles-controller.lua
@@ -19,7 +19,7 @@ end
-- Public methods
read = function (self )
- return ({logfile = self.model:get("/var/log/mini_httpd.log")} )
+ return ({logfile = self.model:get("/var/log /tmp/squid/log"), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller} )
end
--update = function (self)
diff --git a/logfiles-model.lua b/logfiles-model.lua
index 6964c40..1d18f3f 100644
--- a/logfiles-model.lua
+++ b/logfiles-model.lua
@@ -2,20 +2,22 @@ module (..., package.seeall)
-- no initializer in model - use controller.init for that
-local function is_file_in_use( file )
--- local files_opened = io.popen("ls -l $( find /proc/[0-9]*/fd) | egrep 'tmp\|var' - | sed 's/ \+/ /g' | sort")
- opens=" ls -l $( find /proc/[0-9]*/fd 2>/dev/null) 2>/dev/null | \
- egrep 'tmp\|var' - | sed 's/ \+/ /g' | \
- cut -f 12"
- opens="ls -l `find /proc/[0-9]*/fd 2>&1` 2>&1 | egrep 'tmp|var'"
---ls -l `find /proc/[0-9]*/fd 2>/dev/null` 2>/dev/null | egrep '\-\>' - | sed 's/ \+/ /g' | \
--- cut -f 12"
--- cut -f11 -d' ' | sort |uniq "
- local files_opened = io.popen(opens)
-
- local f = files_opened:read("*a") or "unknown"
- table.insert ( listed_files , cfe{date="?", name=f, size="?"} )
-
+local function file_info ( path )
+ local file = io.popen("ls -lh " .. path )
+ local file_inuse = io.popen("fuser " .. path )
+ split = require("split")
+ local file_info_result = file:read("*a") or "unknown"
+ local fileinuseresult = file_inuse:read("*a") or "unkown"
+ if fileinuseresult == "" then
+ fileinuseresult = "Delete"
+ else
+ fileinuseresult = "in use"
+ end
+ local size = rawget(split("%s+", file_info_result),5)
+ local lastmod = rawget(split("%s+", file_info_result),6) .. " " .. rawget(split("%s+", file_info_result),7) .. " " .. rawget(split("%s+", file_info_result),8)
+ file:close()
+ file_inuse:close()
+ return lastmod,size,fileinuseresult
end
local function list_files ( path )
@@ -24,41 +26,28 @@ local function list_files ( path )
split = require("split")
local files = io.popen("find " .. path .. " -type f | sort")
- table.insert ( listed_files , cfe{delete="Delete", save="Save", view="View", size="Size", lastmod="Last Modified", name="File", header="yes"} )
+ table.insert ( listed_files , cfe{inuse="Delete", save="Save", view="View", size="Size", lastmod="Last Modified", name="File"} )
if ( files ) then
local f = files:read("*a") or "unknown"
for k,v in pairs(split("%s", f)) do
if v ~= "" then
- table.insert ( listed_files , cfe{delete="", save="", view="", size="", lastmod="", name=v, type=""} )
--- table.insert ( listed_files , cfe{date="?", name=v, size="?"} )
+ local lastmod,size,fileinuseresult = file_info(v)
+ if ( fileinuseresult == "Delete" ) then
+ del="/delete?id=" .. k
+ else
+ del=nil
+ end
+ table.insert ( listed_files , cfe{inuse=fileinuseresult, del=del, save="", view="/view?id=" .. k, size=size, lastmod=lastmod, name=v, type="", id=k} )
end
end
files:close()
end
--- table.insert ( listed_files , cfe{date="---", name="--- Now follows list with open files to compare agains logfile-list ---", size="---"} )
--- table.insert ( listed_files , cfe{delete="Delete", save="Save", view="View", size="Size", lastmod="Last Modified", name="File", type="header"} )
-
return listed_files
end
-
-local function read_file ( path )
- local file = io.open(path)
- if ( file ) then
- local f = file:read("*a") or "unknown"
- file:close()
- return f
- else
- return "Cant find '" .. path .. "'"
- end
-end
-
get = function (self,path)
- local logfile_folders = "/var/log /tmp/squid/log"
local logfile_result = {}
- logfile_result = list_files(logfile_folders)
- file_name = cfe{value=path, name=file_name}
- return logfile_result
+ return list_files( path )
end
diff --git a/logfiles-read-html.lsp b/logfiles-read-html.lsp
index 9ea7b22..5fe6944 100644
--- a/logfiles-read-html.lsp
+++ b/logfiles-read-html.lsp
@@ -3,16 +3,30 @@
<body>
<h1>Logfiles</h1>
<TABLE border=1>
-<? for i = 1, table.maxn(view.logfile) do ?>
- <TR <? if view.logfile[i].header then ?> class=grey <? end ?>>
- <TD "width=55px"><?= view.logfile[i].delete ?></TD>
- <TD "width=55px"><?= view.logfile[i].save ?></TD>
- <TD "width=55px"><?= view.logfile[i].view ?></TD>
- <TD "width=55px"><?= view.logfile[i].size ?></TD>
- <TD><?= view.logfile[i].lastmod ?></TD>
+ <TR class=grey>
+ <TD "width=55px"><?= view.logfile[1].inuse ?></TD>
+ <TD "width=55px"><?= view.logfile[1].save ?></TD>
+ <TD "width=55px"><?= view.logfile[1].view ?></TD>
+ <TD "width=55px" align="right"><?= view.logfile[1].size ?></TD>
+ <TD align="right" "width=90px"><?= view.logfile[1].lastmod ?></TD>
+ <TD><?= view.logfile[1].name ?></TD>
+ </TR>
+
+<? for i = 2, table.maxn(view.logfile) do ?>
+ <TR>
+ <TD>
+ <? if view.logfile[i].del then ?>
+ <?= html.link{value = view.url .. view.logfile[i].del, label=view.logfile[i].inuse } ?>
+ <? else ?>
+ <?= view.logfile[i].inuse ?>
+ <? end ?></TD>
+ <TD><?= html.link{value = view.url .. view.logfile[i].save, label="Save" } ?></TD>
+ <TD><?= html.link{value = view.url .. view.logfile[i].view, label="View" } ?></TD>
+ <TD align="right"><?= view.logfile[i].size ?></TD>
+ <TD align="right"><?= view.logfile[i].lastmod ?></TD>
<TD><?= view.logfile[i].name ?></TD>
</TR>
<? end ?>
</TABLE>
</body>
-</html>
+</html>