summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@helsinki.at>2011-03-21 15:27:07 (GMT)
committerChristian Pointner <equinox@helsinki.at>2011-03-21 15:27:07 (GMT)
commit46348e1cd2782a701134b030be7452910ba2c46e (patch)
treedb5dad68ca369d55380b4dc4a59ebc0ba223b3bb
parenta57ad1b134763b55f9dcc0a63e6995a66bcc2a7d (diff)
moved sqlite based tempstorage to mysql based playlog
-rw-r--r--nopsyncd/playlog.lua (renamed from nopsyncd/tempstorage.lua)31
-rwxr-xr-xnopsyncd/qlistener.lua14
-rw-r--r--nopsyncd/rddb.lua2
-rwxr-xr-xnopsyncd/tcpserver.lua8
4 files changed, 27 insertions, 28 deletions
diff --git a/nopsyncd/tempstorage.lua b/nopsyncd/playlog.lua
index 4ae437a..3aa0361 100644
--- a/nopsyncd/tempstorage.lua
+++ b/nopsyncd/playlog.lua
@@ -19,38 +19,37 @@
-- along with rhnop. If not, see <http://www.gnu.org/licenses/>.
--
-require "luasql.sqlite3"
+require "luasql.mysql"
-local tempstorage = {}
+-- CREATE DATABASE rhnop
+-- GRANT select,insert,update ON rhnop.* TO 'nopsyncd' IDENTIFIED BY '123456';
+-- CREATE TABLE IF NOT EXISTS now (timestamp VARCHAR(16) PRIMARY KEY NOT NULL, cart INT NOT NULL, len INT, showtitle VARCHAR(255), title VARCHAR(255), artist VARCHAR(255), album VARCHAR(255), ismusic BOOLEAN)
-function tempstorage:init()
+local playlog = {}
+
+function playlog:init()
local err
- self.env, err = luasql.sqlite3()
+ self.env, err = luasql.mysql()
if self.env == nil then
return nil, err
end
- self.con, err = self.env:connect("nopsync.db")
+ self.con, err = self.env:connect("rhnop", "nopsyncd", "123456", "127.0.0.1")
if self.con == nil then
return nil, err
end
-
+
local ret, err = self.con:setautocommit(true)
if ret == nil then
return nil, err
end
- local rows, err = self.con:execute("CREATE TABLE IF NOT EXISTS now (timestamp VARCHAR(16) PRIMARY KEY ASC NOT NULL, cart INT NOT NULL, len INT, showtitle VARCHAR(255), title VARCHAR(255), artist VARCHAR(255), album VARCHAR(255), ismusic BOOLEAN)")
- if rows == nil then
- return nil, err
- end
-
return true
end
-function tempstorage:getLastCart()
- local cur, err = self.con:execute("SELECT cart from (SELECT cart,timestamp,MAX(timestamp) AS tsmax FROM now) where timestamp = tsmax")
+function playlog:getLastCart()
+ local cur, err = self.con:execute("SELECT cart FROM now WHERE timestamp = (SELECT MAX(timestamp) FROM now)")
if cur == nil then
return nil, err
end
@@ -60,7 +59,7 @@ function tempstorage:getLastCart()
return cart
end
-function tempstorage:insertMusic(timestamp, cart, len, title, artist, album)
+function playlog:insertMusic(timestamp, cart, len, title, artist, album)
cart = tonumber(cart)
len = tonumber(len)
if cart < 400000 or cart > 450000 then
@@ -77,7 +76,7 @@ function tempstorage:insertMusic(timestamp, cart, len, title, artist, album)
return true
end
-function tempstorage:close()
+function playlog:close()
if self.con then
self.con:close()
end
@@ -87,4 +86,4 @@ function tempstorage:close()
end
end
-return tempstorage
+return playlog
diff --git a/nopsyncd/qlistener.lua b/nopsyncd/qlistener.lua
index 1e02df2..753902d 100755
--- a/nopsyncd/qlistener.lua
+++ b/nopsyncd/qlistener.lua
@@ -23,7 +23,7 @@ local queue_name = "/rhnop"
local last_cart = nil
mq = require "luamq"
-tempstorage = require "tempstorage"
+playlog = require "playlog"
rddb = require "rddb"
function handle_now(timestamp, nowcart, nowlen)
@@ -32,7 +32,7 @@ function handle_now(timestamp, nowcart, nowlen)
io.stderr:write("can't fetch cart info: " .. err .. "\n")
else
-- print(timestamp .. " Info: '" .. results.TITLE .. "' von '" .. results.ARTIST .. "' aus '" .. results.ALBUM .. "'")
- local ret, err = tempstorage:insertMusic(timestamp, nowcart, nowlen, results.TITLE, results.ARTIST, results.ALBUM)
+ local ret, err = playlog:insertMusic(timestamp, nowcart, nowlen, results.TITLE, results.ARTIST, results.ALBUM)
if ret == nil then
io.stderr:write("can't insert music info: " .. err .. "\n")
else
@@ -62,17 +62,17 @@ function main_loop()
os.exit(1)
end
- local ret, err = tempstorage:init()
+ local ret, err = playlog:init()
if ret == nil then
- io.stderr:write("creation of tempstorage failed: " .. err .. "\n")
+ io.stderr:write("creation of playlog failed: " .. err .. "\n")
os.exit(1)
end
- last_cart = assert(tempstorage:getLastCart())
+ last_cart = assert(playlog:getLastCart())
local ret, err = rddb:init()
if ret == nil then
io.stderr:write("opening rivendell db failed: " .. err .. "\n")
- tempstorage:close()
+ playlog:close()
os.exit(1)
end
@@ -81,7 +81,7 @@ function main_loop()
if msg == nil then
io.stderr:write("recv error: " .. prio .. "\n")
rddb:close()
- tempstorage:close()
+ playlog:close()
os.exit(2)
end
handle_message(msg)
diff --git a/nopsyncd/rddb.lua b/nopsyncd/rddb.lua
index 56c73b7..e7ed14e 100644
--- a/nopsyncd/rddb.lua
+++ b/nopsyncd/rddb.lua
@@ -32,7 +32,7 @@ function rddb:init()
end
-- TODO: read /etc/rd.conf for connection info
- self.con, err = self.env:connect("rivendell", "rivendellro", "lldrivenro", "192.168.1.16")
+ self.con, err = self.env:connect("rivendell", "rivendellro", "lldrivenro", "127.0.0.1")
if self.con == nil then
return nil, err
end
diff --git a/nopsyncd/tcpserver.lua b/nopsyncd/tcpserver.lua
index 3f7c70a..7530ff2 100755
--- a/nopsyncd/tcpserver.lua
+++ b/nopsyncd/tcpserver.lua
@@ -20,7 +20,7 @@
--
require "socket"
-tempstorage = require "tempstorage"
+playlog = require "playlog"
function init_server()
local server = assert(socket.tcp())
@@ -86,9 +86,9 @@ end
function main_loop()
local pipefd = pipe.getreadfd()
- local ret, err = tempstorage:init()
+ local ret, err = playlog:init()
if ret == nil then
- io.stderr:write("creation of tempstorage failed: " .. err .. "\n")
+ io.stderr:write("creation of playlog failed: " .. err .. "\n")
os.exit(1)
end
@@ -133,7 +133,7 @@ function main_loop()
end
end
- tempstorage:close()
+ playlog:close()
server:close()
cleanup_clients()