Commit 2d22656e authored by Rafaël Carré's avatar Rafaël Carré Committed by Rémi Duraffort

lua playlist: update lelombrik parser

(cherry picked from commit 532e5d01d788f9c161065321e7ffa057e0041df4)
Signed-off-by: default avatarRémi Duraffort <ivoire@videolan.org>
parent 21c130af
......@@ -28,19 +28,26 @@ end
-- Parse function.
function parse()
vidtitle = ""
while true do
line = vlc.readline()
if not line then break end
if string.match( line, "id=\"nom_fichier\">" ) then
vidtitle = string.gsub( line, ".*\"nom_fichier\">([^<]*).*", "%1" )
if not line then
vlc.msg.err("Couldn't extract the video URL from lelombrik")
return { }
end
if string.match( line, "flvplayer.swf" ) then
-- fallback: retrieve the title from the url if we didn't find it
if vidtitle == "" then
vidtitle = string.gsub( vlc.path, ".*/([^.]*).*", "%1" )
if string.match( line, "id=\"nom_fichier\">" ) then
title = string.gsub( line, ".*\"nom_fichier\">([^<]*).*", "%1" )
elseif string.match( line, "'file'" ) then
_,_,path = string.find( line, "'file', *'([^']*)")
elseif string.match( line, "flashvars=" ) then
path = string.gsub( line, "flashvars=.*&file=([^&]*).*", "%1" )
arturl = string.gsub( line, "flashvars=.*&image=([^&]*).*", "%1" )
elseif string.match( line, "'image'" ) then
_,_,arturl = string.find( line, "'image', *'([^']*)")
end
return { { path = string.gsub( line, ".*flashvars=\"&file=([^&]*).*", "%1" ); arturl = string.gsub( line, ".*&image=([^&]*).*", "%1" ); title = vidtitle } }
if path and arturl and title then
return { { path = path; arturl = arturl; title = title } }
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment