btc: remove synchronous variant and dead code

This commit is contained in:
Joerg Thalheim 2017-11-24 12:19:12 +00:00 committed by 0x5b
parent 5eec03a3c3
commit 52e9b72217
2 changed files with 3 additions and 66 deletions

View File

@ -18,11 +18,11 @@ local string = {
-- Btc: provides current bitcoin price -- Btc: provides current bitcoin price
-- vicious.widgets.btc -- vicious.widgets.btc
local btc_linux = {} local btc_all = {}
-- {{ Bitcoin widget type -- {{ Bitcoin widget type
function btc_linux.async(format, warg, callback) function btc_all.async(format, warg, callback)
-- Default values -- Default values
if not warg then warg = "usd" end if not warg then warg = "usd" end
@ -48,10 +48,4 @@ function btc_linux.async(format, warg, callback)
end end
-- }}} -- }}}
-- {{ Bitcoin widget type return btc_all
local function worker(format, warg)
btc_linux.async(format, warg, function(data) return data end)
end
-- }}}
return setmetatable(btc_linux, { __call = function(_, ...) return worker(...) end })

View File

@ -1,57 +0,0 @@
---------------------------------------------------
-- Licensed under the GNU General Public License v2
-- * (c) 2017, 0x5b <dragen15051@gmail.com>
---------------------------------------------------
-- {{{ Grab environment
local setmetatable = setmetatable
local pcall = pcall
local helpers = require("vicious.helpers")
local spawn = require("awful.spawn")
local json = require("json")
local string = {
sub = string.sub,
upper = string.upper,
}
-- }}}
-- Btc: provides current bitcoin price
-- vicious.widgets.btc
local btc_linux = {}
-- {{ Bitcoin widget type
function btc_linux.async(format, warg, callback)
-- Default values
if not warg then warg = "usd" end
local btc = { ["{price}"] = "N/A" }
local currency_code = string.upper(warg)
local url = "https://api.coindesk.com/v1/bpi/currentprice/" .. currency_code .. ".json"
local cmd = "curl "..helpers.shellquote(url)
-- {{ Checking response
local function parse(response)
-- If 'response' is not json, 'json.decode' will return Error
local status, data = pcall(function() return json.decode(response) end)
if not status or not data then
return btc
end
btc["{price}"] = string.sub(data["bpi"][currency_code]["rate"], 0, -3)
return btc
end
-- }}
spawn.easy_async(cmd, function(stdout) callback(parse(stdout)) end)
end
-- }}}
-- {{ Bitcoin widget type
local function worker(format, warg)
btc_linux.async(format, warg, function(data) return data end)
end
-- }}}
return setmetatable(btc_linux, { __call = function(_, ...) return worker(...) end })