summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Sedov <radist.morse@gmail.com>2015-12-16 18:26:56 +0300
committerVictor Toso <me@victortoso.com>2016-01-30 12:14:57 +0100
commitfbb244ee962ddcf483dc4c6adec30de6c2616436 (patch)
tree0109c7e72ecfe1826ce8437f7c919784e82903f3
parentd809be39ed2bbd4c410be7aa527b36902362511a (diff)
lua-factory: port grl-lastfm-cover.lua to the new lua system
https://bugzilla.gnome.org/show_bug.cgi?id=753141 Acked-by: Victor Toso <me@victortoso.com>
-rw-r--r--src/lua-factory/sources/grl-lastfm-cover.lua29
1 files changed, 14 insertions, 15 deletions
diff --git a/src/lua-factory/sources/grl-lastfm-cover.lua b/src/lua-factory/sources/grl-lastfm-cover.lua
index 9f78c67..fe24fde 100644
--- a/src/lua-factory/sources/grl-lastfm-cover.lua
+++ b/src/lua-factory/sources/grl-lastfm-cover.lua
@@ -49,40 +49,39 @@ LASTFM_SEARCH_ALBUM = 'http://ws.audioscrobbler.com/2.0/?method=album.getInfo&ap
-- Handlers of Grilo functions --
---------------------------------
-function grl_source_resolve()
- local url, req
+function grl_source_resolve(media, options, callback)
+ local url
local artist, title
- req = grl.get_media_keys()
- if not req or not req.artist or not req.album
- or #req.artist == 0 or #req.album == 0 then
- grl.callback()
+ if not media or not media.artist or not media.album
+ or #media.artist == 0 or #media.album == 0 then
+ callback()
return
end
-- Prepare artist and title strings to the url
- artist = grl.encode(req.artist)
- album = grl.encode(req.album)
+ artist = grl.encode(media.artist)
+ album = grl.encode(media.album)
url = string.format(LASTFM_SEARCH_ALBUM, grl.goa_consumer_key(), artist, album)
- grl.fetch(url, "fetch_page_cb")
+ local userdata = {callback = callback, media = media}
+ grl.fetch(url, fetch_page_cb, userdata)
end
---------------
-- Utilities --
---------------
-function fetch_page_cb(result)
+function fetch_page_cb(result, userdata)
if not result then
- grl.callback()
+ userdata.callback()
return
end
- local media = {}
- media.thumbnail = {}
+ userdata.media.thumbnail = {}
for k, v in string.gmatch(result, '<image size="(.-)">(.-)</image>') do
grl.debug ('Image size ' .. k .. ' = ' .. v)
- table.insert(media.thumbnail, v)
+ table.insert(userdata.media.thumbnail, v)
end
- grl.callback(media, 0)
+ userdata.callback(userdata.media, 0)
end