From d630f6b8d5d133a83a87e48954f93105033f1c24 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Fri, 18 Oct 2013 22:33:13 +0000 Subject: Remove all calls to 'module' in preparation for move to Lua 5.2 Use mymodule parameter for module definition. This was also helpful in revealing places where the code relied on the global environment. --- fetchmail-controller.lua | 22 ++++++++++++---------- fetchmail-model.lua | 30 ++++++++++++++++-------------- 2 files changed, 28 insertions(+), 24 deletions(-) diff --git a/fetchmail-controller.lua b/fetchmail-controller.lua index 405bd33..550d2e8 100644 --- a/fetchmail-controller.lua +++ b/fetchmail-controller.lua @@ -1,35 +1,37 @@ -module(..., package.seeall) +local mymodule = {} -default_action = "status" +mymodule.default_action = "status" -function status(self) +function mymodule.status(self) return self.model.getstatus() end -function startstop(self) +function mymodule.startstop(self) return self.handle_form(self, self.model.get_startstop, self.model.startstop_service, self.clientdata) end -function editconfig(self) +function mymodule.editconfig(self) return self.handle_form(self, self.model.getconfig, self.model.updateconfig, self.clientdata, "Save", "Edit Config", "Configuration Set") end -function expert(self) +function mymodule.expert(self) return self.handle_form(self, self.model.get_filedetails, self.model.update_filecontent, self.clientdata, "Save", "Edit Config", "Configuration Set") end -function listentries(self) +function mymodule.listentries(self) return self.model.readentries() end -function editentry(self) +function mymodule.editentry(self) return self.handle_form(self, function() return self.model.readentry(self.clientdata.remotehost, self.clientdata.method, self.clientdata.remotemailbox, self.clientdata.localdomain) end, self.model.updateentry, self.clientdata, "Save", "Edit Entry", "Entry Saved") end -function createentry(self) +function mymodule.createentry(self) return self.handle_form(self, function() return self.model.readentry() end, self.model.createentry, self.clientdata, "Create", "Create Entry", "Entry Created") end -function deleteentry(self) +function mymodule.deleteentry(self) return self.handle_form(self, self.model.get_deleteentry, self.model.deleteentry, self.clientdata, "Delete", "Delete Entry", "Entry Deleted") end + +return mymodule diff --git a/fetchmail-model.lua b/fetchmail-model.lua index ba896c9..cd36f89 100644 --- a/fetchmail-model.lua +++ b/fetchmail-model.lua @@ -1,4 +1,4 @@ -module(..., package.seeall) +local mymodule = {} -- Load libraries modelfunctions = require("modelfunctions") @@ -388,12 +388,12 @@ end -- ################################################################################ -- PUBLIC FUNCTIONS -function get_startstop(self, clientdata) +function mymodule.get_startstop(self, clientdata) local actions = {"Run", "Test"} return cfe({ type="group", label="Management", value={}, option=actions }) end -function startstop_service(self, startstop, action) +function mymodule.startstop_service(self, startstop, action) if action and (action:lower() == "run" or action:lower() == "test") then local cmd if action:lower() == "run" then @@ -408,16 +408,16 @@ function startstop_service(self, startstop, action) return startstop end -function getstatus() +function mymodule.getstatus() return modelfunctions.getstatus(processname, packagename, "Fetchmail Status") end -function get_filedetails() +function mymodule.get_filedetails() -- FIXME - validation return modelfunctions.getfiledetails(configfile) end -function update_filecontent(self, filedetails) +function mymodule.update_filecontent(self, filedetails) -- FIXME - validation local retval = modelfunctions.setfiledetails(self, filedetails, {configfile}) posix.chmod(configfile, "rw-------") @@ -426,7 +426,7 @@ function update_filecontent(self, filedetails) return retval end -function getconfig() +function mymodule.getconfig() local interval = cfe({ value="60", label="Polling Interval", descr="Interval in seconds" }) local postmaster = cfe({ label="Postmaster", descr="If defined, undeliverable mail is sent to this account, otherwise it is discarded" }) local bounceerrors = cfe({ type="boolean", value=true, label="Bounce Errors", descr="Bounce errors back to the sender or send them to the postmaster" }) @@ -448,7 +448,7 @@ function getconfig() return cfe({ type="group", value={interval=interval, postmaster=postmaster, bounceerrors=bounceerrors}, label="Fetchmail Global Config" }) end -function updateconfig(self, conf) +function mymodule.updateconfig(self, conf) local success, conf = validateconfig(conf) if success then @@ -491,7 +491,7 @@ function updateconfig(self, conf) return conf end -function readentries() +function mymodule.readentries() local entries = cfe({ type="structure", value={}, label="List of Fetchmail entries" }) config = config or parseconfigfile(fs.read_file(configfile) or "") for i,entry in ipairs(config or {}) do @@ -519,7 +519,7 @@ function readentries() return entries end -function readentry(entryname, meth, remotemailbx, localdom) +function mymodule.readentry(entryname, meth, remotemailbx, localdom) local enabled = cfe({ type="boolean", value=true, label="Enable", seq=2 }) local method = cfe({ type="select", value="pop3", label="Method", option=methods, seq=3 }) local remotehost = cfe({ value=entryname, label="Remote Host", seq=1 }) @@ -581,7 +581,7 @@ function readentry(entryname, meth, remotemailbx, localdom) return cfe({ type="group", value={enabled=enabled, method=method, remotehost=remotehost, remotemailbox=remotemailbox, remotepassword=remotepassword, localhost=localhost, localmailbox=localmailbox, localdomain=localdomain, ssl=ssl, envelope=envelope}, label="Fetchmail Entry" }) end -function updateentry(self, entrystruct) +function mymodule.updateentry(self, entrystruct) local success, entrystruct = validateentry(entrystruct) local entry = findentryline(entrystruct.value.remotehost.value, entrystruct.value.method.value, entrystruct.value.remotemailbox.value, entrystruct.value.localdomain.value) if not entry then @@ -598,7 +598,7 @@ function updateentry(self, entrystruct) return entrystruct end -function createentry(self, entrystruct) +function mymodule.createentry(self, entrystruct) local success, entrystruct = validateentry(entrystruct) local entry = findentryline(entrystruct.value.remotehost.value, entrystruct.value.method.value, entrystruct.value.remotemailbox.value, entrystruct.value.localdomain.value) if entry then @@ -615,7 +615,7 @@ function createentry(self, entrystruct) return entrystruct end -function get_deleteentry(self, clientdata) +function mymodule.get_deleteentry(self, clientdata) local retval = {} retval.remotehost = cfe({ value=clientdata.remotehost or "", label="Remote Host" }) retval.method = cfe({ type="select", value=clientdata.method or "pop3", label="Method", option=methods }) @@ -625,7 +625,7 @@ function get_deleteentry(self, clientdata) return cfe({ type="group", value=retval, label="Delete Entry" }) end -function deleteentry(self, ent) +function mymodule.deleteentry(self, ent) local entry = findentryline(ent.value.remotehost.value, ent.value.method.value, ent.value.remotemailbox.value, ent.value.localdomain.value) if entry then writeentryline(nil, entry) @@ -635,3 +635,5 @@ function deleteentry(self, ent) return ent end + +return mymodule -- cgit v1.2.3