summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rrdtool-controller.lua36
-rw-r--r--rrdtool-model.lua38
2 files changed, 39 insertions, 35 deletions
diff --git a/rrdtool-controller.lua b/rrdtool-controller.lua
index ae4a2a2..6070dcc 100644
--- a/rrdtool-controller.lua
+++ b/rrdtool-controller.lua
@@ -1,52 +1,52 @@
-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 expert(self)
+function mymodule.expert(self)
return self.handle_form(self, self.model.getconfigfile, self.model.setconfigfile, self.clientdata, "Save", "Edit Config", "Configuration Saved")
end
-function listrrd(self)
+function mymodule.listrrd(self)
local configfiles = self.model.getrrdlist()
return cfe({ type="list", value=configfiles.value, label="View/Edit RoundRobinDatabase (rrd) files" })
end
-function createrrd(self)
+function mymodule.createrrd(self)
return self.handle_form(self, self.model.createnewrrd, function(self, value)
- return self.model.savenewrrd(self, value, sessiondata.userinfo.userid)
+ return self.model.savenewrrd(self, value, self.sessiondata.userinfo.userid)
end, self.clientdata, "Save", "Create new RRD", "File saved")
end
-function delete(self)
- return self:redirect_to_referrer(self.model.remove_file(self, self.clientdata.filename, sessiondata.userinfo.userid))
+function mymodule.delete(self)
+ return self:redirect_to_referrer(self.model.remove_file(self, self.clientdata.filename, self.sessiondata.userinfo.userid))
end
-function rrdinfo(self)
- return self:redirect_to_referrer(self.model.rrd_info(self, self.clientdata.filename, sessiondata.userinfo.userid))
+function mymodule.rrdinfo(self)
+ return self:redirect_to_referrer(self.model.rrd_info(self, self.clientdata.filename, self.sessiondata.userinfo.userid))
end
-function listgraphs(self)
+function mymodule.listgraphs(self)
return self.model.list_graphs()
end
-function viewgraph(self)
+function mymodule.viewgraph(self)
return self.model.view_graph(self, self.clientdata.group, self.clientdata.id)
end
-function listgraphcfg(self)
+function mymodule.listgraphcfg(self)
local configfiles = self.model.getgraphlist()
return cfe({ type="list", value=configfiles.value, label="View/Edit graph files" })
end
-function editgraphcfg(self)
+function mymodule.editgraphcfg(self)
config = self.handle_form(self,
function() return self.model.getgraphfile(self.clientdata.filename) end,
function(self, value)
- return self.model.set_filedetails(self, value, sessiondata.userinfo.userid)
+ return self.model.set_filedetails(self, value, self.sessiondata.userinfo.userid)
end, self.clientdata, "Save", "Edit Config File", "Config File Saved")
if self.clientdata.linenumber and validator.is_integer(self.clientdata.linenumber) then
@@ -55,4 +55,6 @@ function editgraphcfg(self)
return config
end
-newgraphcfg = editgraphcfg
+mymodule.newgraphcfg = mymodule.editgraphcfg
+
+return mymodule
diff --git a/rrdtool-model.lua b/rrdtool-model.lua
index 7b3895a..8f97738 100644
--- a/rrdtool-model.lua
+++ b/rrdtool-model.lua
@@ -1,4 +1,4 @@
-module(..., package.seeall)
+local mymodule = {}
-- Load libraries
modelfunctions = require("modelfunctions")
@@ -65,23 +65,23 @@ end
-- ################################################################################
-- PUBLIC FUNCTIONS
-function getstatus()
+function mymodule.getstatus()
return modelfunctions.getstatus(nil, packagename, header .. " status")
end
-function getconfigfile()
+function mymodule.getconfigfile()
return modelfunctions.getfiledetails(configfile)
end
-function setconfigfile(self, filedetails)
+function mymodule.setconfigfile(self, filedetails)
return modelfunctions.setfiledetails(self, filedetails, {configfile})
end
-function getrrdlist()
+function mymodule.getrrdlist()
return list_files(databases,".*rrd")
end
-function createnewrrd()
+function mymodule.createnewrrd()
local newdb = {}
newdb.filename = cfe({label="Name",value="mydb.rrd",descr="The name of the RRD you want to create. RRD files should end with the extension .rrd. However, RRDtool will accept any filename."})
newdb.start = cfe({label="Start",value="",descr="Specifies the time in seconds since 1970-01-01 UTC when the first value should be added to the RRD. RRDtool will not accept any data timed before or at the time specified.\
@@ -95,7 +95,7 @@ DS:ds-name:COMPUTE:rpn-expression",type="longtext"})
return {value=newdb}
end
-function remove_file(self, path, userid)
+function mymodule.remove_file(self, path, userid)
local success = "Failed to delete file"
local errtxt
if not (fs.is_file(path)) then
@@ -109,7 +109,7 @@ function remove_file(self, path, userid)
return cfe({ value=success, label="Delete config file result", errtxt=errtxt })
end
-function rrd_info(self, path, userid)
+function mymodule.rrd_info(self, path, userid)
local success, errtxt
if (validfilename(path)) then
success, errtxt = modelfunctions.run_executable({"rrdtool", "info", path}, true)
@@ -119,7 +119,7 @@ function rrd_info(self, path, userid)
return cfe({ value=success, label="rrdtool info ".. tostring(path) , errtxt=errtxt })
end
-function savenewrrd(self, configfile, userid)
+function mymodule.savenewrrd(self, configfile, userid)
path=tostring(databases).."/"..configfile.value.filename.value
configfile.errtxt = "Failed to create file"
local path = configfile.value.filename.value
@@ -170,7 +170,7 @@ If you specify path, it should be " .. tostring(databases) .."/"
if not fs.is_dir(tostring(db_scripts)) then
fs.create_directory(tostring(db_scripts))
end
- filedetails = modelfunctions.setfiledetails(self, filedetails, getgraphlist)
+ filedetails = modelfunctions.setfiledetails(self, filedetails, mymodule.getgraphlist)
filedetails = nil
local f = io.popen( cmd .. " 2>&1")
@@ -182,7 +182,7 @@ If you specify path, it should be " .. tostring(databases) .."/"
return configfile
end
-function list_graphs()
+function mymodule.list_graphs()
local graphs = {}
local files = fs.find_files_as_array(".*graph", graphpath)
@@ -217,13 +217,13 @@ function list_graphs()
return graphs
end
-function view_graph(self, graph_grp, graph_id)
+function mymodule.view_graph(self, graph_grp, graph_id)
local general_settings = {
filenameextention=".png",
graph_width="800",
}
- local graphs = list_graphs()
+ local graphs = mymodule.list_graphs()
local settings = graphs[tostring(graph_grp)][tonumber(self.clientdata.id)]
local filename = "/".. string.lower(tostring(graph_grp)).."_"..tostring(graph_id) ..
(settings.filenameextention or ".png")
@@ -248,11 +248,11 @@ function view_graph(self, graph_grp, graph_id)
return settings
end
-function getgraphlist()
+function mymodule.getgraphlist()
return list_files(graphpath,".*graph")
end
-function getgraphfile(path)
+function mymodule.getgraphfile(path)
if (path) and not (validfilename(path)) then
path = nil
end
@@ -278,7 +278,7 @@ AREA:eth0tx#99000099:
return output
end
-function set_filedetails (self, filedetails, userid)
+function mymodule.set_filedetails (self, filedetails, userid)
if filedetails.value.filename.value and (#filedetails.value.filename.value > 0) and not (string.match(filedetails.value.filename.value, ".*/$")) then
if not (string.match(filedetails.value.filename.value, "^" .. graphpath)) then
filedetails.value.filename.value = graphpath .. "/" .. string.gsub(filedetails.value.filename.value,"^.*/", "")
@@ -287,7 +287,7 @@ function set_filedetails (self, filedetails, userid)
filedetails.value.filename.value = filedetails.value.filename.value .. ".graph"
end
- filedetails = modelfunctions.setfiledetails(self, filedetails, getgraphlist)
+ filedetails = modelfunctions.setfiledetails(self, filedetails, mymodule.getgraphlist)
else
filedetails.errtxt = "Failed to set file"
filedetails.value.filename.errtxt = "You need to specify a valid filename!"
@@ -297,6 +297,8 @@ function set_filedetails (self, filedetails, userid)
return filedetails
end
-function setgraphfile(self, filedetails, file)
+function mymodule.setgraphfile(self, filedetails, file)
return modelfunctions.setfiledetails(self, filedetails, {file})
end
+
+return mymodule