mux: mp4: fix recording of rtsp
[vlc.git] / share / lua / playlist / katsomo.lua
blobe7130f71b69b74c66ae89c6066e829744366b976
1 --[[
2 Translate www.katsomo.fi video webpages URLs to the corresponding
3 movie URL
5 $Id$
6 Copyright © 2009 the VideoLAN team
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
21 --]]
23 -- Probe function.
24 function probe()
25 return vlc.access == "http"
26 and string.match( vlc.path, "^www%.katsomo%.fi/" )
27 and ( string.match( vlc.path, "treeId" ) or string.match( vlc.path, "progId" ) )
28 end
30 function find( haystack, needle )
31 local _,_,r = string.find( haystack, needle )
32 return r
33 end
35 -- Parse function.
36 function parse()
37 p = {}
38 if string.match( vlc.path, "progId" )
39 then
40 programid = string.match( vlc.path, "progId=(%d+)")
41 path = "http://www.katsomo.fi/metafile.asx?p="..programid.."&bw=800"
42 table.insert(p, { path = path; } )
43 return p
44 end
45 title=""
46 arturl="http://www.katsomo.fi/multimedia/template/logos/katsomo_logo_2.gif"
47 while true
49 line = vlc.readline()
50 if not line then break end
51 if string.match( line, "<title>" )
52 then
53 title = vlc.strings.decode_uri( find( line, "<title>(.-)<" ) )
54 title = vlc.strings.from_charset( "ISO_8859-1", title )
55 end
56 if( find( line, "img class=\"pngImg\" src=\"/multimedia/template/logos" ) )
57 then
58 arturl = "http://www.katsomo.fi"..find( line, " src=\"(.-)\" alt=" )
59 end
60 for treeid,name in string.gmatch( line, '/%?treeId=(%d+)">([^<]+)</a') do
61 name = vlc.strings.resolve_xml_special_chars( name )
62 name = vlc.strings.from_charset( "ISO_8859-1", name )
63 path = "http://www.katsomo.fi/?treeId="..treeid
64 table.insert( p, { path = path; name = name; arturl=arturl; } )
65 end
66 for programid in string.gmatch( line, "<li class=\"program.*\" id=\"program(%d+)\" title=\".+\"" ) do
67 description = vlc.strings.resolve_xml_special_chars( find( line, "title=\"(.+)\"" ) )
68 description = vlc.strings.from_charset( "ISO_8859-1", description )
69 path = "http://www.katsomo.fi/metafile.asx?p="..programid.."&bw=800"
70 table.insert( p, { path = path; name = description; arturl=arturl; } )
71 end
72 end
73 return p
74 end