diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2009-10-23 07:27:55 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2009-10-23 07:27:55 +0000 |
commit | 01fa13ec9e6d92be327e7ba559c9bb764710fef9 (patch) | |
tree | c8ac255ff1af865bdd4c6c71453528d464b2ed8e | |
parent | c5002b34c1701bc8c31464067e6c90742582d863 (diff) | |
download | acf-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.lua | 28 |
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 |