From 532e5d01d788f9c161065321e7ffa057e0041df4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafa=C3=ABl=20Carr=C3=A9?= Date: Sun, 18 Jul 2010 22:14:36 +0200 Subject: [PATCH] lua playlist: update lelombrik parser --- share/lua/playlist/lelombrik.lua | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/share/lua/playlist/lelombrik.lua b/share/lua/playlist/lelombrik.lua index 82fb472280..b804bacece 100644 --- a/share/lua/playlist/lelombrik.lua +++ b/share/lua/playlist/lelombrik.lua @@ -28,19 +28,26 @@ end -- Parse function. function parse() - vidtitle = "" while true do line = vlc.readline() - if not line then break end + if not line then + vlc.msg.err("Couldn't extract the video URL from lelombrik") + return { } + end + if string.match( line, "id=\"nom_fichier\">" ) then - vidtitle = string.gsub( line, ".*\"nom_fichier\">([^<]*).*", "%1" ) + 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 - 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" ) - 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 -- 2.39.2