vlc | branch: master | Rémi Duraffort <[email protected]> | Mon Oct 25 
23:34:36 2010 +0200| [bdea03db32db0efadac1952789716bf144355a49] | committer: 
Rémi Duraffort 

lua_sd_channels: implement the search function.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=bdea03db32db0efadac1952789716bf144355a49
---

 share/lua/sd/metachannels.lua |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/share/lua/sd/metachannels.lua b/share/lua/sd/metachannels.lua
index 9c17b04..3913377 100644
--- a/share/lua/sd/metachannels.lua
+++ b/share/lua/sd/metachannels.lua
@@ -26,6 +26,29 @@ function descriptor()
     return { title="Channels.com" }
 end
 
+function search( string )
+    -- Do the query
+    query = string.gsub( string, ' ', '+' )
+    local feed = simplexml.parse_url( 
"http://www.metachannels.com/api/search?apikey=54868d5d73af69d6afa12d55db6f3d18735baa7d&searchTerms=";
 .. query )
+    local channel = feed.children[1]
+
+    -- List all answers
+    local node = vlc.sd.add_node( { path = "", title = string } )
+    for _,item in ipairs( channel.children ) do
+        if( item.name == 'item' ) then
+            simplexml.add_name_maps( item )
+            local url = string.gsub( item.children_map['link'][1].children[1], 
'&amp;', '&' )
+            local arturl = 
item.children_map['media:thumbnail'][1].attributes['url']
+            if( arturl == '/images/thumb_channel_default.jpg' ) then
+                arturl = 
'http://www.metachannels.com/images/thumb_channel_default.jpg'
+            end
+            node:add_subitem( { path = url,
+                                title = 
item.children_map['title'][1].children[1],
+                                arturl = arturl } )
+        end
+    end
+end
+
 function main()
     -- get the primary feed and parse the <channel> tag
     local feed = simplexml.parse_url( 
"http://metachannels.com/meta_channels?device=vlc&lang=en,es,fr,de,it,other&format=rss&adult_ok=y";
 )

_______________________________________________
vlc-commits mailing list
[email protected]
http://mailman.videolan.org/listinfo/vlc-commits

Reply via email to