vlc | branch: master | Ludovic Fauvet <[email protected]> | Fri Dec 7 19:25:46 2012 +0100| [45059b5adde4cab5b2559ae960d38d5c147cd4a5] | committer: Konstantin Pavlov
lua: add Liveleak playlist parser Signed-off-by: Konstantin Pavlov <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=45059b5adde4cab5b2559ae960d38d5c147cd4a5 --- share/Makefile.am | 2 ++ share/lua/playlist/liveleak.lua | 67 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) diff --git a/share/Makefile.am b/share/Makefile.am index 403be9e..7a5d3ff 100644 --- a/share/Makefile.am +++ b/share/Makefile.am @@ -176,6 +176,7 @@ nobase_vlclib_DATA = \ lua/playlist/katsomo.luac \ lua/playlist/koreus.luac \ lua/playlist/lelombrik.luac \ + lua/playlist/liveleak.luac \ lua/playlist/metacafe.luac \ lua/playlist/metachannels.luac \ lua/playlist/mpora.luac \ @@ -266,6 +267,7 @@ EXTRA_DIST += \ lua/playlist/katsomo.lua \ lua/playlist/koreus.lua \ lua/playlist/lelombrik.lua \ + lua/playlist/liveleak.lua \ lua/playlist/metacafe.lua \ lua/playlist/metachannels.lua \ lua/playlist/mpora.lua \ diff --git a/share/lua/playlist/liveleak.lua b/share/lua/playlist/liveleak.lua new file mode 100644 index 0000000..6811977 --- /dev/null +++ b/share/lua/playlist/liveleak.lua @@ -0,0 +1,67 @@ +--[[ + $Id$ + + Copyright © 2012 VideoLAN and AUTHORS + + Authors: Ludovic Fauvet <[email protected]> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. +--]] + +-- Probe function. +function probe() + return vlc.access == "http" + and string.match( vlc.path, "www.liveleak.com/view" ) +end + +-- Util function +function find( haystack, needle ) + local _,_,r = string.find( haystack, needle ) + return r +end + +-- Parse function. +function parse() + local p = {} + local title + local art + local video + + while true do + line = vlc.readline() + if not line then break end + + -- Try to find the title + if string.match( line, '<span class="section_title"' ) then + title = find( line, '<span class="section_title"[^>]*>(.-)<' ) + title = string.gsub( title, ' ', ' ' ) + end + + -- Try to find the art + if string.match( line, 'image:' ) then + art = find( line, 'image: "(.-)"' ) + end + + -- Try to find the video + if string.match( line, 'file:' ) then + video = find( line, 'file: "(.-)"' ) + end + end + if video then + table.insert( p, { path = video; name = title; arturl = art; } ) + end + return p +end + _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
