summaryrefslogtreecommitdiff
path: root/nopsyncd/qlistener.lua
diff options
context:
space:
mode:
authorChristian Pointner <equinox@helsinki.at>2011-03-16 01:10:10 (GMT)
committerChristian Pointner <equinox@helsinki.at>2011-03-16 01:10:10 (GMT)
commit74cce8f8317cacc9f07404236710e68f279b3773 (patch)
tree57becd0d78033cf1027cb2022e9bf600dce4929e /nopsyncd/qlistener.lua
parentfba23d62b11f361af19eae4cf545f946c17b97a5 (diff)
small refactoring
Diffstat (limited to 'nopsyncd/qlistener.lua')
-rwxr-xr-xnopsyncd/qlistener.lua37
1 files changed, 23 insertions, 14 deletions
diff --git a/nopsyncd/qlistener.lua b/nopsyncd/qlistener.lua
index b7c74d8..e5cd4ab 100755
--- a/nopsyncd/qlistener.lua
+++ b/nopsyncd/qlistener.lua
@@ -25,6 +25,28 @@ mq = require "luamq"
tempstorage = require "tempstorage"
rddb = require "rddb"
+function handle_now(timestamp, nowcart, nowlen)
+ local results, err = rddb:getCartInfo(nowcart);
+ if results == nil then
+ io.stderr:write("can't fetch cart info: " .. err .. "\n")
+ else
+ -- TODO: insert into tempstorage
+ print(timestamp .. " Info: '" .. results.TITLE .. "' von '" .. results.ARTIST .. "' aus '" .. results.ALBUM .. "'")
+ pipe.signal()
+ end
+end
+
+function handle_message(msg)
+ local timestamp, nowcart, nowlen, nextcart, nextlen = string.match(msg, "^(%d+) (%d+) (%d+) (%d+) (%d+)$");
+ if not timestamp or not nowcart or not nowlen or not nextcart or not nextlen then
+ io.stderr:write("ignoring malformed message\n")
+ else
+ -- TODO sanity checks: is now info new or just next?
+ handle_now(timestamp, nowcart, nowlen)
+ -- TODO handle next info
+ end
+end
+
function main_loop()
local q, err = mq.create(queue_name, "ro")
if q == nil then
@@ -53,19 +75,6 @@ function main_loop()
tempstorage:close()
os.exit(2)
end
-
- local timestamp, nowcart, nowlen, nextcart, nextlen = string.match(msg, "^(%d+) (%d+) (%d+) (%d+) (%d+)$");
- if not timestamp or not nowcart or not nowlen or not nextcart or not nextlen then
- io.stderr:write("ignoring malformed message\n")
- else
- local results, err = rddb:getCartInfo(nowcart);
- if results == nil then
- io.stderr:write("can't fetch cart info: " .. err .. "\n")
- else
- -- TODO: insert into tempstorage
- print(timestamp .. " Info: '" .. results.TITLE .. "' von '" .. results.ARTIST .. "' aus '" .. results.ALBUM .. "'")
- pipe.signal()
- end
- end
+ handle_message(msg)
end
end \ No newline at end of file