[vlc-commits] commit: lua playlist: update lelombrik parser ( Rafaël Carré )
git at videolan.org
git at videolan.org
Mon Jul 19 19:52:44 CEST 2010
vlc/vlc-1.1 | branch: master | Rafaël Carré <rafael.carre at gmail.com> | Sun Jul 18 22:14:36 2010 +0200| [2d22656e7da6081d71f95d1be8fcbfbea22a3adf] | committer: Rémi Duraffort
lua playlist: update lelombrik parser
(cherry picked from commit 532e5d01d788f9c161065321e7ffa057e0041df4)
Signed-off-by: Rémi Duraffort <ivoire at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc/vlc-1.1.git/?a=commit;h=2d22656e7da6081d71f95d1be8fcbfbea22a3adf
---
share/lua/playlist/lelombrik.lua | 25 ++++++++++++++++---------
1 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/share/lua/playlist/lelombrik.lua b/share/lua/playlist/lelombrik.lua
index 82fb472..b804bac 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
More information about the vlc-commits
mailing list