# -*- coding: UTF-8 -*- #/* # * Copyright (C) 2014 mx3L # * # * # * 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, 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; see the file COPYING. If not, write to # * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. # * http://www.gnu.org/copyleft/gpl.html # * # */ import re import urllib import urllib2 import random import decimal import util __name__='vimeo' def supports(url): return not _regex(url) == None def resolve(url): m = _regex(url) if m: ret = [] data = util.request("http://player.vimeo.com/v2/video/%s/config?type=moogaloop&referrer=&player_url=player.vimeo.com&v=1.0.0&cdn_url=http://a.vimeocdn.com"%m.group('id')) data = util.json.loads(data) h264 = data["request"]["files"]["h264"] for quality in h264.iterkeys(): item = {} item['title'] = data['video']['title'] item['length'] = data['video']['duration'] item['quality'] = quality == 'hd' and '720p' or '480p' item['url'] = h264[quality]['url'] ret.append(item) return ret def _regex(url): return re.search('player.vimeo.com/video/(?P\d+)',url,re.IGNORECASE | re.DOTALL)