summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2009-10-23 07:27:55 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2009-10-23 07:27:55 +0000
commit01fa13ec9e6d92be327e7ba559c9bb764710fef9 (patch)
treec8ac255ff1af865bdd4c6c71453528d464b2ed8e
parentc5002b34c1701bc8c31464067e6c90742582d863 (diff)
downloadacf-weblog-01fa13ec9e6d92be327e7ba559c9bb764710fef9.tar.bz2
acf-weblog-01fa13ec9e6d92be327e7ba559c9bb764710fef9.tar.xz
avoid duplicate code using function variables
the code for handling dg and squid log files are identical, except the parse and import function. We pass the correct function as a param and reuse the code.
-rw-r--r--weblog-model.lua28
1 files changed, 14 insertions, 14 deletions
diff --git a/weblog-model.lua b/weblog-model.lua
index 6cd66f5..aaa8a30 100644
--- a/weblog-model.lua
+++ b/weblog-model.lua
@@ -848,6 +848,18 @@ function testsource(sourcename)
return result
end
+-- import either squid or dg log file.
+-- delete logfile after
+function importlogfile(source, cookiesfile, file, parselog_func, importlog_func)
+ logme("Processing " .. file )
+ logme("Getting " .. file )
+ logcontent = getlogfile(source, cookiesfile, file)
+ logentries = parselog_func(logcontent)
+ importlog(logentries, source.sourcename)
+ logme("Deleting " .. file )
+ deletelogfile(source, cookiesfile, file)
+end
+
function importlogs()
local result = cfe({ label="Weblog Import Logs Result" })
local count = 0
@@ -867,22 +879,10 @@ function importlogs()
for j,file in ipairs(files) do
if string.match(file, "dansguardian/access%.log[%.%-]") then
count = count + 1
- logme("Processing " .. file )
- logme("Getting " .. file )
- logcontent = getlogfile(source, cookiesfile, file)
- logentries = parsedglog(logcontent)
- importdglog(logentries, source.sourcename)
- logme("Deleting " .. file )
- deletelogfile(source, cookiesfile, file)
+ importlogfile(source, cookeisfile, file, parsedglog, importdglog)
elseif string.match(file, "squid/access%.log[%.%-]") then
count = count + 1
- logme("Processing " .. file )
- logme("Getting " .. file )
- local logcontent = getlogfile(source, cookiesfile, file)
- local logentries = parsesquidlog(logcontent)
- importsquidlog(logentries, source.sourcename)
- logme("Deleting " .. file )
- deletelogfile(source, cookiesfile, file)
+ importlogfile(source, cookeisfile, file, parsesquidlog, importsquidlog)
end
end
end