2017-12-03 13:30:32 +01:00

36 lines
1.2 KiB
Python

# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
class FlixelIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?flixel\.com/cinemagraph/(?P<id>[0-9a-zA-Z]+)'
_TEST = {
'url': 'https://flixel.com/cinemagraph/tg64m4fmxbqu5yrywoz5/',
'md5': '374a8a8f8902f7db0f4a8d6f580c23ed',
'info_dict': {
'id': 'tg64m4fmxbqu5yrywoz5',
'ext': 'mp4',
'title': 'ROSSIO',
'uploader': 'capn',
'duration': 3.575,
'thumbnail': 'https://cdn.flixel.com/flixel/tg64m4fmxbqu5yrywoz5.thumbnail.jpg?v=1',
'webpage_url': 'https://flixel.com/cinemagraph/tg64m4fmxbqu5yrywoz5/',
}
}
def _real_extract(self, url):
video_id = self._match_id(url)
json_url = 'https://api.flixel.com/2/flixels/{0}'.format(video_id)
meta = self._download_json(json_url, video_id)
return {
'id': video_id,
'title': meta.get('caption'),
'url': meta.get('hd_mp4'),
'uploader': meta.get('username'),
'duration': meta.get('duration'),
'thumbnail': meta.get('thumbnail'),
'webpage_url': meta.get('link'),
}