]> git.sesse.net Git - vlc/blobdiff - share/lua/playlist/katsomo.lua
Use var_InheritString for --decklink-video-connection.
[vlc] / share / lua / playlist / katsomo.lua
index 8560a2db76c71d4b14904f8c27ee17a63a5f836e..daadf126addb1a5159185ad1e348c4686fda3ae9 100644 (file)
@@ -24,6 +24,7 @@
 function probe()
     return vlc.access == "http"
         and string.match( vlc.path, "www.katsomo.fi" )
+        and ( string.match( vlc.path, "treeId" ) or string.match( vlc.path, "progId" ) )
 end
 
 function find( haystack, needle )
@@ -34,6 +35,15 @@ end
 -- Parse function.
 function parse()
     p = {}
+    if string.match( vlc.path, "progId" )
+    then
+       programid = string.match( vlc.path, "progId=(%d+)")
+       path = "http://www.katsomo.fi/metafile.asx?p="..programid.."&bw=800"
+       table.insert(p, { path = path; } )
+       return p
+    end
+    title=""
+    arturl="http://www.katsomo.fi/multimedia/template/logos/katsomo_logo_2.gif"
     while true
     do
         line = vlc.readline()
@@ -41,17 +51,23 @@ function parse()
         if string.match( line, "<title>" )
         then
             title = vlc.strings.decode_uri( find( line, "<title>(.-)<" ) )
-            vlc.msg.info("found title: "..title)
+            title = vlc.strings.iconv( "UTF-8", "ISO_8859-1", title )
         end
-        if string.match( line, "<li class=\"program\"" )
+        if( find( line, "img class=\"pngImg\" src=\"/multimedia/template/logos" ) )
         then
-            description = vlc.strings.resolve_xml_special_chars( find( line, "title=\"(.-)\"" ) )
-            vlc.msg.info("found description:"..description)
+            arturl = "http://www.katsomo.fi"..find( line, " src=\"(.-)\" alt=" )
+        end
+        for treeid,name in string.gmatch( line, "/\?treeId=(%d+)\">([^<]+)</a") do
+            name = vlc.strings.resolve_xml_special_chars( name )
+            name = vlc.strings.iconv( "UTF-8", "ISO_8859-1", name )
+            path = "http://www.katsomo.fi/?treeId="..treeid
+            table.insert( p, { path = path; name = name; url = vlc.path; arturl=arturl; } )
         end
-        for programid in string.gmatch( line, "<li class=\"program\" id=\"program(.-)\"" ) do
-            vlc.msg.info("found program id "..programid)
-            path = "http://www.katsomo.fi/metafile.asx?p="..programid.."&bw=800"
-            table.insert( p, { path = path; name = title; description = description; url = vlc.path;} )
+        for programid in string.gmatch( line, "<li class=\"program.*\" id=\"program(%d+)\" title=\".+\"" ) do
+           description = vlc.strings.resolve_xml_special_chars( find( line, "title=\"(.+)\"" ) )
+           description = vlc.strings.iconv( "UTF-8", "ISO_8859-1", description )
+           path = "http://www.katsomo.fi/metafile.asx?p="..programid.."&bw=800"
+           table.insert( p, { path = path; name = description; url = vlc.path; arturl=arturl; } )
         end
     end
     return p