From 237470c8f45190b213e3a173ce6ae1a74b3e11fe Mon Sep 17 00:00:00 2001 From: "Adrian C. (anrxc)" Date: Sun, 14 Mar 2010 01:55:33 +0100 Subject: API: transform widgets namespace table to a directory --- mpd.lua | 59 ----------------------------------------------------------- 1 file changed, 59 deletions(-) delete mode 100644 mpd.lua (limited to 'mpd.lua') diff --git a/mpd.lua b/mpd.lua deleted file mode 100644 index 0764e53..0000000 --- a/mpd.lua +++ /dev/null @@ -1,59 +0,0 @@ ---------------------------------------------------- --- Licensed under the GNU General Public License v2 --- * (c) 2010, Adrian C. ---------------------------------------------------- - --- {{{ Grab environment -local tonumber = tonumber -local io = { popen = io.popen } -local setmetatable = setmetatable -local string = { gmatch = string.gmatch } -local helpers = require("vicious.helpers") --- }}} - - --- Mpd: provides Music Player Daemon information -module("vicious.mpd") - - --- {{{ MPD widget type -local function worker(format, warg) - local mpd_state = { - ["{volume}"] = 0, - ["{state}"] = "N/A", - ["{Artist}"] = "N/A", - ["{Title}"] = "N/A", - ["{Album}"] = "N/A", - ["{Genre}"] = "N/A" - } - - -- Fallback to MPD defaults - local pass = warg and warg[1] or "\"\"" - local host = warg and warg[2] or "127.0.0.1" - local port = warg and warg[3] or "6600" - - -- Construct MPD client options - local mpdh = "telnet://"..host..":"..port - local echo = "echo 'password "..pass.."\nstatus\ncurrentsong\nclose'" - - -- Get data from MPD server - local f = io.popen(echo.." | curl --connect-timeout 1 -fsm 3 "..mpdh) - - for line in f:lines() do - for k, v in string.gmatch(line, "([%w]+):[%s](.*)$") do - if k == "volume" then mpd_state["{"..k.."}"] = v and tonumber(v) - elseif k == "state" then mpd_state["{"..k.."}"] = helpers.capitalize(v) - elseif k == "Artist" then mpd_state["{"..k.."}"] = helpers.escape(v) - elseif k == "Title" then mpd_state["{"..k.."}"] = helpers.escape(v) - elseif k == "Album" then mpd_state["{"..k.."}"] = helpers.escape(v) - elseif k == "Genre" then mpd_state["{"..k.."}"] = helpers.escape(v) - end - end - end - f:close() - - return mpd_state -end --- }}} - -setmetatable(_M, { __call = function(_, ...) return worker(...) end }) -- cgit v1.2.3