Move website/videobash.lua to media/
[libquvi-scripts.git] / share / scan / youtube.lua
blobf2fc251f7ff91c4912d4f5f7483f3da71e598b68
1 -- libquvi-scripts
2 -- Copyright (C) 2012,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 -- Parse scan properties.
22 function parse(qargs)
23 qargs.media_url = {}
25 local paths = {'/embed/([-_%w]+)', '/%w/([-_%w]+)', '/([-_%w]+)'}
26 local hosts = {'youtu%.be', 'youtube%.com'}
28 local Y = require 'quvi/youtube'
29 local U = require 'socket.url'
31 local scheme = U.parse(qargs.input_url).scheme
33 for _,h in pairs(hosts) do
34 for _,p in pairs(paths) do
35 local r = table.concat({h,p})
36 for v in qargs.content:gmatch(r) do
37 if #v ==11 then
38 local u = table.concat({scheme, '://youtube.com/watch?v=', v})
39 Y.append_if_unique(qargs, u)
40 end
41 end
42 end
43 end
44 return qargs
45 end
47 -- vim: set ts=2 sw=2 tw=72 expandtab: