diff options
author | Christian Pointner <equinox@helsinki.at> | 2015-05-11 23:22:33 (GMT) |
---|---|---|
committer | Christian Pointner <equinox@helsinki.at> | 2015-05-12 00:04:36 (GMT) |
commit | d71335b6ccb2b71e846736bc8e7e8a3ccc954b7f (patch) | |
tree | 5182e556d6b4e58c5d5d07b8820d0416a6697288 /rhnop-server/qlistener.lua | |
parent | 7e8500a355a15dcdb303e3a109c34ca82c18ba38 (diff) |
removed old seperate directories
Diffstat (limited to 'rhnop-server/qlistener.lua')
-rw-r--r-- | rhnop-server/qlistener.lua | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/rhnop-server/qlistener.lua b/rhnop-server/qlistener.lua deleted file mode 100644 index b41e2a7..0000000 --- a/rhnop-server/qlistener.lua +++ /dev/null @@ -1,98 +0,0 @@ --- --- rhnop --- --- Copyright (C) 2011-2014 Christian Pointner <equinox@helsinki.at> --- --- This file is part of rhnop. --- --- rhnop is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- any later version. --- --- rhnop is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with rhnop. If not, see <http://www.gnu.org/licenses/>. --- - -local last_cart = nil - -require "posix" -mq = require "mq" - -package.path = package.path .. ";" .. rhnoplibdir .. "/?.lua" -playlog = require "playlog" -rddb = require "rddb" -conf = require "conf" - -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") --- TODO: this error shouldn't be ignored!!!! - else --- print(timestamp .. " Info: '" .. results.TITLE .. "' von '" .. results.ARTIST .. "' aus '" .. results.ALBUM .. "'") - local ret, err = playlog:insertNowMusic(timestamp, nowcart, nowlen, results.TITLE, results.ARTIST, results.ALBUM) - if ret == nil then - io.stderr:write("can't insert music info: " .. err .. "\n") - else - pipe.signal(timestamp) - end - 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 - nowcart = tonumber(nowcart) - nowlen = tonumber(nowlen) - if last_cart ~= nowcart and nowcart >= conf.music_carts_lo and nowcart <= conf.music_carts_hi and nowlen > 0 then - last_cart = nowcart - handle_now(timestamp, nowcart, nowlen) - end - -- TODO handle next info - end -end - -function main_loop() - posix.umask("rwxrwxr-x") - local q, err = mq.create(conf.queue_name, "ro", "rw-rw----") - if q == nil then - q, err = mq.open(conf.queue_name, "wo") - if q == nil then - io.stderr:write("creation of message queue failed: " .. err .. "\n") - os.exit(1) - end - end - - local ret, err = playlog:init() - if ret == nil then - io.stderr:write("creation of playlog failed: " .. err .. "\n") - os.exit(1) - end - last_cart = assert(playlog:getLastCart()) - - local ret, err = rddb:init() - if ret == nil then - io.stderr:write("opening rivendell db failed: " .. err .. "\n") - playlog:close() - os.exit(1) - end - - while true do - local msg, prio = mq.receive(q) - if msg == nil then - io.stderr:write("recv error: " .. prio .. "\n") - rddb:close() - playlog:close() - os.exit(2) - end - handle_message(msg) - end -end |