From 817101e336c2e0812345e8583aed2dae3007c5be Mon Sep 17 00:00:00 2001 From: Roman Bazalevsky Date: Fri, 21 Oct 2016 17:56:32 +0300 Subject: [PATCH] =?utf8?q?=D0=9F=D0=B5=D1=80=D0=B5=D1=85=D0=B2=D0=B0=D1=82?= =?utf8?q?=20"=D0=BB=D0=B8=D1=88=D0=BD=D0=B5=D0=B3=D0=BE"=20=D0=B2=D1=8B?= =?utf8?q?=D0=B2=D0=BE=D0=B4=D0=B0=20=D0=BE=D1=82=20=D0=B2=D1=8B=D0=B7?= =?utf8?q?=D1=8B=D0=B2=D0=B0=D0=B5=D0=BC=D1=8B=D1=85=20=D0=BF=D0=BE=D0=B4?= =?utf8?q?=D0=BF=D1=80=D0=BE=D1=86=D0=B5=D1=81=D1=81=D0=BE=D0=B2,=20=D1=87?= =?utf8?q?=D1=82=D0=BE=D0=B1=20=D0=BD=D0=B5=20=D0=B7=D0=B0=D1=81=D0=BE?= =?utf8?q?=D1=80=D1=8F=D1=82=D1=8C=20=D0=BB=D0=BE=D0=B3.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- weathermon.lua | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/weathermon.lua b/weathermon.lua index 7a366b0..af38729 100755 --- a/weathermon.lua +++ b/weathermon.lua @@ -21,6 +21,17 @@ function url_encode(str) return str end +function capture(cmd, raw) + local f = assert(io.popen(cmd, 'r')) + local s = assert(f:read('*a')) + f:close() + if raw then return s end + s = string.gsub(s, '^%s+', '') + s = string.gsub(s, '%s+$', '') + s = string.gsub(s, '[\n\r]+', ' ') + return s +end + function mqtt_encode(str) if (str) then str = string.gsub (str, "\n", "") @@ -83,7 +94,7 @@ function getConfig(configname) if serial_port then command = "stty -F "..serial_port.." "..serial_baud - os.capture(command) + capture(command) end @@ -141,7 +152,7 @@ end function printLog(str) if logging=="on" then - os.execute("logger -t weathermon "..str) + capture("logger -t weathermon "..str) else print(str) end @@ -163,7 +174,7 @@ function submitValue(type,id,param,val) command = command.." \""..url.."\"" - os.execute(command) + result = capture(command) end @@ -311,7 +322,7 @@ function processLine(str) " \""..string.gsub(alarm_type,"\"","\\\"").. "\" \""..string.gsub(alarm_id,"\"","\\\"").. "\" \""..string.gsub(msg_body,"\"","\\\"").."\"" - os.execute(command) + capture(command) end else printLog("Cannot parse alarm input: "..msg_body) -- 2.34.1