diff options
author | Ted Trask <ttrask01@yahoo.com> | 2008-09-17 19:40:31 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2008-09-17 19:40:31 +0000 |
commit | fb354ee8afb21d5f09721a8e7b9df7169e7183fd (patch) | |
tree | e6c19b4a3858f363bf9f5664e6c33fe1244b12bd | |
parent | 54d9a100593d103aab724327a7763c24dbf0eaff (diff) | |
download | acf-alpine-baselayout-fb354ee8afb21d5f09721a8e7b9df7169e7183fd.tar.bz2 acf-alpine-baselayout-fb354ee8afb21d5f09721a8e7b9df7169e7183fd.tar.xz |
Modified logfiles to add grep capability.
git-svn-id: svn://svn.alpinelinux.org/acf/alpine-baselayout/trunk@1472 ab2d0c66-481e-0410-8bed-d214d4d58bed
-rw-r--r-- | logfiles-controller.lua | 4 | ||||
-rw-r--r-- | logfiles-model.lua | 22 | ||||
-rw-r--r-- | logfiles-tail-html.lsp | 5 | ||||
-rw-r--r-- | logfiles-view-html.lsp | 36 |
4 files changed, 61 insertions, 6 deletions
diff --git a/logfiles-controller.lua b/logfiles-controller.lua index 2af76ee..58fb0f0 100644 --- a/logfiles-controller.lua +++ b/logfiles-controller.lua @@ -13,7 +13,7 @@ delete = function (self) end view = function (self) - return self.model.get_filedetails(self.clientdata.name or "") + return self.model.get_filedetails(self.clientdata.name or "", self.clientdata.grep) end download = function (self) @@ -29,5 +29,5 @@ tail = function (self) if self.clientdata.offset then self.conf.viewtype = "ajax" end - return self.model.tail(self.clientdata.name, self.clientdata.offset) + return self.model.tail(self.clientdata.name, self.clientdata.offset, self.clientdata.grep) end diff --git a/logfiles-model.lua b/logfiles-model.lua index 54aceee..41c2308 100644 --- a/logfiles-model.lua +++ b/logfiles-model.lua @@ -60,12 +60,25 @@ local function list_files ( ... ) return cfe({ type="list", value=listed_files, label="Log files" }) end -get_filedetails = function (path) +local do_grep = function(filecontent, grep) + if grep and grep ~= "" then + local lines = {} + for line in string.gmatch(filecontent.value, "[^\n]*\n?") do + if string.match(line, grep) then + lines[#lines+1] = line + end + end + filecontent.value = table.concat(lines) or "" + end +end + +get_filedetails = function (path, grep) local filedetails local available_files = get() for i,file in ipairs(available_files.value) do if ( file.value.filename.value == path ) then filedetails = modelfunctions.getfiledetails(path) + do_grep(filedetails.value.filecontent, grep) break end end @@ -73,14 +86,16 @@ get_filedetails = function (path) filedetails = modelfunctions.getfiledetails("") filedetails.value.filename.value = path end + filedetails.value.grep = cfe({ value=grep or "", label="Grep" }) return filedetails end -tail = function(path, offset) +tail = function(path, offset, grep) 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 filegrep = cfe({ value=grep or "", label="Grep" }) local available_files = get() for i,file in ipairs(available_files.value) do @@ -102,11 +117,12 @@ tail = function(path, offset) fileoffset.value = filesize.value end f:close() + do_grep(filecontent, grep) break end end - return cfe({ type="group", value={filename=filename, filecontent=filecontent, filesize=filesize, fileoffset=fileoffset}, label="Tail Config file details" }) + return cfe({ type="group", value={filename=filename, filecontent=filecontent, filesize=filesize, fileoffset=fileoffset, grep=filegrep}, label="Tail Config file details" }) end get = function () diff --git a/logfiles-tail-html.lsp b/logfiles-tail-html.lsp index b4ef807..6bfe26d 100644 --- a/logfiles-tail-html.lsp +++ b/logfiles-tail-html.lsp @@ -9,7 +9,7 @@ $.ajaxSetup({cache:false}); $.getJSON( '<%= page_info.script .. page_info.prefix .. page_info.controller .. "/" .. page_info.action %>', - {name:'<%= form.value.filename.value %>', offset:currentoffset}, + {name:'<% io.write(form.value.filename.value) if form.value.grep.value ~= "" then io.write("',grep:'"..form.value.grep.value) end %>', offset:currentoffset}, function(data) { data.value.filecontent.value = data.value.filecontent.value.split("\n").join("<br>\n"); $("#filecontent").append(data.value.filecontent.value).scrollTop(999999999); @@ -34,6 +34,9 @@ <% displayitem(form.value.filename) displayitem(form.value.filesize) +if form.value.grep.value ~= "" then + displayitem(form.value.grep) +end %> </DL> <textarea id="filecontent"> diff --git a/logfiles-view-html.lsp b/logfiles-view-html.lsp new file mode 100644 index 0000000..a83153c --- /dev/null +++ b/logfiles-view-html.lsp @@ -0,0 +1,36 @@ +<% local form, viewlibrary, page_info = ... %> +<% require("viewfunctions") %> + +<% if form.type == "form" then %> +<H1>Configuration</H1> +<H2>Expert Configuration</H2> +<% else %> +<H1>View File</H1> +<% end %> +<H3>File Details</H3> +<DL> +<% +displayitem(form.value.filename) +displayitem(form.value.filesize) +displayitem(form.value.mtime) +if form.value.grep.value ~= "" then + displayitem(form.value.grep) +end +%> +</DL> + +<H3>File Content</H3> +<% if form.descr then %><P CLASS='descr'><%= string.gsub(form.descr, "\n", "<BR>") %></P><% end %> +<% if form.errtxt then %><P CLASS='error'><%= string.gsub(form.errtxt, "\n", "<BR>") %></P><% end %> +<form action="<%= page_info.script .. page_info.prefix .. page_info.controller .. "/" .. page_info.action %>" method="POST"> +<input type="hidden" name="filename" value="<%= form.value.filename.value %>"> +<textarea name="filecontent"> +<%= html.html_escape(form.value.filecontent.value) %> +</textarea> +<% if form.value.filecontent.errtxt then %><P CLASS='error'><%= string.gsub(form.value.filecontent.errtxt, "\n", "<BR>") %></P><% end %> + +<% if form.type == "form" then %> +<H3>Save</H3> +<DL><DT>Submit and save above changes</DT><DD><input class="submit" type="submit" name="<%= form.option %>" value="<%= form.option %>"></DD></DL> +<% end %> +</form> |