1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
module(..., package.seeall)
-- Load libraries
require("procps")
require("daemoncontrol")
require("processinfo")
local function process_status_text(procname)
local t = procps.pidof(procname)
if (t) and (#t > 0) then
return "Enabled"
else
return "Disabled"
end
end
function startstop_service(processname, action)
-- action is validated in daemoncontrol
local cmdresult,cmdmessage,cmderror,cmdaction = daemoncontrol.daemoncontrol(processname, action)
return cfe({ type="boolean", value=cmdresult, descr=cmdmessage, errtxt=cmderror, label="Start/Stop result" })
end
function getstatus(processname, packagename, label)
local status = {}
local value, errtxt = processinfo.package_version(packagename)
status.version = cfe({
label="Program version",
value=value,
errtxt=errtxt,
})
status.status = cfe({
label="Program status",
value=process_status_text(processname),
})
local autostart_sequence, autostart_errtxt = processinfo.process_botsequence(processname)
status.autostart = cfe({
label="Autostart sequence",
value=autostart_sequence,
errtxt=autostart_errtxt,
})
return cfe({ type="group", value=status, label=label })
end
function getfiledetails(file)
local filename = cfe({ value=file, label="File name" })
local filecontent = cfe({ type="longtext", label="File content" })
local filesize = cfe({ value="0", label="File size" })
local mtime = cfe({ value="---", label="File date" })
if fs.is_file(file) then
local filedetails = fs.stat(file)
filecontent.value = fs.read_file(file)
filesize.value = filedetails.size
mtime.value = filedetails.mtime
else
filename.errtxt = "File not found"
end
return cfe({ type="group", value={filename=filename, filecontent=filecontent, filesize=filesize, mtime=mtime}, label="Config file details" })
end
|