media/sevenload.lua: Relicense under AGPLv3+
[libquvi-scripts.git] / share / media / sevenload.lua
blobefd9890f6fa08635165483235e28b2dd9aaed00a
1 -- libquvi-scripts
2 -- Copyright (C) 2010-2013 Toni Gundogdu <legatvs@gmail.com>
3 --
4 -- This file is part of libquvi-scripts <http://quvi.sourceforge.net/>.
5 --
6 -- This program is free software: you can redistribute it and/or
7 -- modify it under the terms of the GNU Affero General Public
8 -- License as published by the Free Software Foundation, either
9 -- version 3 of the License, or (at your option) any later version.
11 -- This program 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
14 -- GNU Affero General Public License for more details.
16 -- You should have received a copy of the GNU Affero General
17 -- Public License along with this program. If not, see
18 -- <http://www.gnu.org/licenses/>.
21 -- Identify the script.
22 function ident(self)
23 package.path = self.script_dir .. '/?.lua'
24 local C = require 'quvi/const'
25 local r = {}
26 r.domain = "sevenload%.com"
27 r.formats = "default"
28 r.categories = C.proto_http
29 local U = require 'quvi/util'
30 r.handles = U.handles(self.page_url, {r.domain}, {'/videos/'})
31 return r
32 end
34 -- Query available formats.
35 function query_formats(self)
36 self.formats = 'default'
37 return self
38 end
40 -- Parse media URL.
41 function parse(self)
42 self.host_id = "sevenload"
44 local p = quvi.fetch(self.page_url):gsub('&quot;','"')
46 self.thumbnail_url = p:match('"og:image" content="(.-)"') or ''
48 self.title = p:match('"og:title" content="(.-)"')
49 or error('no match: media title')
51 self.id = p:match('videoid":"(.-)"') or error("no match: media id")
53 self.url = {p:match('src.+"(http://.+%.mp4)"')
54 or error("no match: media stream URL")}
56 return self
57 end
59 -- vim: set ts=4 sw=4 tw=72 expandtab: