28 lines
896 B
Python
28 lines
896 B
Python
|
# -*- coding: utf-8 -*-
|
||
|
# vi:si:et:sw=4:sts=4:ts=4
|
||
|
import re
|
||
|
from StringIO import StringIO
|
||
|
import xml.etree.ElementTree as ET
|
||
|
|
||
|
from ox.cache import readUrl, readUrlUnicode
|
||
|
from ox import findString, findRe
|
||
|
|
||
|
|
||
|
def getData(id):
|
||
|
url = 'http://www.vimeo.com/moogaloop/load/clip:%s' %id
|
||
|
xml = readUrl(url)
|
||
|
tree = ET.parse(StringIO(xml))
|
||
|
request_signature = tree.find('request_signature').text
|
||
|
request_signature_expires = tree.find('request_signature_expires').text
|
||
|
|
||
|
data = {}
|
||
|
video_url = "http://www.vimeo.com/moogaloop/play/clip:%s/%s/%s/?q=" % \
|
||
|
(id, request_signature, request_signature_expires)
|
||
|
data['video_sd'] = video_url + 'sd'
|
||
|
data['video_hd'] = video_url + 'hd'
|
||
|
video = tree.find('video')
|
||
|
for key in ('caption', 'width', 'height', 'duration', 'thumbnail'):
|
||
|
data[key] = video.find(key).text
|
||
|
return data
|
||
|
|