[vlc-devel] [PATCH] lua: add Liveleak playlist parser
Ludovic Fauvet
etix at videolan.org
Mon Dec 10 11:49:14 CET 2012
On Fri, Dec 7, 2012 at 7:25 PM, Ludovic Fauvet <etix at videolan.org> wrote:
> ---
> share/Makefile.am | 2 ++
> share/lua/playlist/liveleak.lua | 67 +++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 69 insertions(+)
> create mode 100644 share/lua/playlist/liveleak.lua
>
> 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 <etix at videolan.org>
> +
> + 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
> +
> --
> 1.8.0.1
>
Ping.
--
Ludovic Fauvet
More information about the vlc-devel
mailing list