]> jfr.im git - yt-dlp.git/blame - youtube_dl/extractor/gamekings.py
YoutubeDL: set the 'params' property before any message/warning/error is sent (fixes...
[yt-dlp.git] / youtube_dl / extractor / gamekings.py
CommitLineData
eb9b5bff
JW
1import re
2
3from .common import InfoExtractor
eb9b5bff
JW
4
5
6class GamekingsIE(InfoExtractor):
384b98cd 7 _VALID_URL = r'http?://www\.gamekings\.tv/videos/(?P<name>[0-9a-z\-]+)'
eb9b5bff
JW
8 _TEST = {
9 u"url": u"http://www.gamekings.tv/videos/phoenix-wright-ace-attorney-dual-destinies-review/",
384b98cd 10 u'file': u'20130811.mp4',
eab27241
PH
11 # MD5 is flaky, seems to change regularly
12 #u'md5': u'2f32b1f7b80fdc5cb616efb4f387f8a3',
eb9b5bff 13 u'info_dict': {
384b98cd 14 u"title": u"Phoenix Wright: Ace Attorney \u2013 Dual Destinies Review",
eb9b5bff
JW
15 u"description": u"Melle en Steven hebben voor de review een week in de rechtbank doorbracht met Phoenix Wright: Ace Attorney - Dual Destinies.",
16 }
17 }
18
19 def _real_extract(self, url):
20
21 mobj = re.match(self._VALID_URL, url)
22 name = mobj.group('name')
23 webpage = self._download_webpage(url, name)
384b98cd 24 video_url = self._og_search_video_url(webpage)
eb9b5bff 25
384b98cd 26 video = re.search(r'[0-9]+', video_url)
eb9b5bff
JW
27 video_id = video.group(0)
28
384b98cd
PH
29 # Todo: add medium format
30 video_url = video_url.replace(video_id, 'large/' + video_id)
eb9b5bff 31
384b98cd
PH
32 return {
33 'id': video_id,
34 'ext': 'mp4',
35 'url': video_url,
36 'title': self._og_search_title(webpage),
37 'description': self._og_search_description(webpage),
38 }