-- -- rhnop -- -- Copyright (C) 2011 Christian Pointner -- -- 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 . -- require "luasql.mysql" local rddb = {} function rddb:init() local err self.env, err = luasql.mysql() if self.env == nil then return nil, err end -- TODO: read /etc/rd.conf for connection info self.con, err = self.env:connect("rivendell", "rivendellro", "lldrivenro", "192.168.1.16") if self.con == nil then return nil, err end return true end function rddb:getCartInfo(cartnum) local cur, err = self.con:execute("select TITLE,ARTIST,ALBUM from CART where NUMBER = " .. self.con:escape(cartnum)); if cur == nil then return nil, err end if cur:numrows() ~= 1 then return nil, "nothing found in rivendell db" end local results = {} results, err = cur:fetch(results, "a") cur:close() if results.TITLE == nil then results.TITLE = "" end if results.ARTIST == nil then results.ARTIST = "" end if results.ALBUM == nil then results.ALBUM = "" end return results, err end function rddb:close() if self.con then self.con:close() end if self.env then self.env:close() end end return rddb