[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