2 -- Copyright (C) 2010-2012 Toni Gundogdu <legatvs@gmail.com>
4 -- This file is part of libquvi-scripts <http://quvi.sourceforge.net/>.
6 -- This library is free software; you can redistribute it and/or
7 -- modify it under the terms of the GNU Lesser General Public
8 -- License as published by the Free Software Foundation; either
9 -- version 2.1 of the License, or (at your option) any later version.
11 -- This library is distributed in the hope that it will be useful,
12 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
13 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 -- Lesser General Public License for more details.
16 -- You should have received a copy of the GNU Lesser General Public
17 -- License along with this library; if not, write to the Free Software
18 -- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
25 -- academicearth.org hosts media at blip.tv or youtube.com .
26 -- Set "goto_url" to point to the actual location of the media.
28 -- The library will then relay the new URL to a media script that
32 local AcademicEarth
= {} -- Utility functions specific to this script
34 -- Identify the media script.
36 local C
= require
'quvi/const'
38 r
.domain
= "academicearth%.org"
40 r
.categories
= C
.proto_http
41 local U
= require
'quvi/util'
42 r
.handles
= U
.handles(self
.page_url
, {r
.domain
}, {"/lectures/"})
46 -- Query available formats.
47 function query_formats(self
)
48 return AcademicEarth
.get_redirect_url(self
)
53 return AcademicEarth
.get_redirect_url(self
)
60 function AcademicEarth
.get_redirect_url(self
)
61 local p
= quvi
.fetch(self
.page_url
)
62 local s
= p
:match('ytID = "(.-)"')
64 self
.redirect_url
= 'http://youtube.com/e/' .. s
66 local s
= p
:match('embed src="(.-)"') -- blip
70 error('no match: blip or youtube pattern')
76 -- vim: set ts=4 sw=4 tw=72 expandtab: