From 14823decf3f27d5e7f17abf85444575f7600f4e4 Mon Sep 17 00:00:00 2001 From: rrooij Date: Sun, 31 Jan 2016 00:03:23 +0100 Subject: [PATCH 1/2] [Gamekings] Fix url from .tv to .nl Gamekings doesn't use the .tv top level domain anymore, but the regular domain for Dutch sites. --- youtube_dl/extractor/gamekings.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/youtube_dl/extractor/gamekings.py b/youtube_dl/extractor/gamekings.py index 027f55eb2..e7747a3ae 100644 --- a/youtube_dl/extractor/gamekings.py +++ b/youtube_dl/extractor/gamekings.py @@ -9,9 +9,9 @@ class GamekingsIE(InfoExtractor): - _VALID_URL = r'http://www\.gamekings\.tv/(?:videos|nieuws)/(?P[^/]+)' + _VALID_URL = r'http://www\.gamekings\.nl/(?:videos|nieuws)/(?P[^/]+)' _TESTS = [{ - 'url': 'http://www.gamekings.tv/videos/phoenix-wright-ace-attorney-dual-destinies-review/', + 'url': 'http://www.gamekings.nl/videos/phoenix-wright-ace-attorney-dual-destinies-review/', # MD5 is flaky, seems to change regularly # 'md5': '2f32b1f7b80fdc5cb616efb4f387f8a3', 'info_dict': { @@ -23,7 +23,7 @@ class GamekingsIE(InfoExtractor): }, }, { # vimeo video - 'url': 'http://www.gamekings.tv/videos/the-legend-of-zelda-majoras-mask/', + 'url': 'http://www.gamekings.nl/videos/the-legend-of-zelda-majoras-mask/', 'md5': '12bf04dfd238e70058046937657ea68d', 'info_dict': { 'id': 'the-legend-of-zelda-majoras-mask', @@ -33,7 +33,7 @@ class GamekingsIE(InfoExtractor): 'thumbnail': 're:^https?://.*\.jpg$', }, }, { - 'url': 'http://www.gamekings.tv/nieuws/gamekings-extra-shelly-en-david-bereiden-zich-voor-op-de-livestream/', + 'url': 'http://www.gamekings.nl/nieuws/gamekings-extra-shelly-en-david-bereiden-zich-voor-op-de-livestream/', 'only_matching': True, }] From ce5879fa1475d9b0a74bd4e644ea944083177b2d Mon Sep 17 00:00:00 2001 From: rrooij Date: Sun, 31 Jan 2016 00:12:45 +0100 Subject: [PATCH 2/2] [Gamekings] Fix viewing of old videos Some old videos that aren't on Vimeo are being uploaded to YouTube under the 'Gamekings Vault' channel. They use YouTube now for some videos as video hosting instead of Vimeo or their own hosting. The first test failed to succeed under the existing code, but works now by using the YouTube extractor. The Regex is changed to find the new gogoVideo JavaScript line with the YouTube embed. Checking if there is a YouTube embed is done by a String find, which is probably not the best method of checking this. --- youtube_dl/extractor/gamekings.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/youtube_dl/extractor/gamekings.py b/youtube_dl/extractor/gamekings.py index e7747a3ae..efe31c10d 100644 --- a/youtube_dl/extractor/gamekings.py +++ b/youtube_dl/extractor/gamekings.py @@ -15,11 +15,14 @@ class GamekingsIE(InfoExtractor): # MD5 is flaky, seems to change regularly # 'md5': '2f32b1f7b80fdc5cb616efb4f387f8a3', 'info_dict': { - 'id': 'phoenix-wright-ace-attorney-dual-destinies-review', + 'id': 'HkSQKetlGOU', 'ext': 'mp4', - 'title': 'Phoenix Wright: Ace Attorney \u2013 Dual Destinies Review', - 'description': 'md5:36fd701e57e8c15ac8682a2374c99731', + 'title': 'Phoenix Wright: Ace Attorney - Dual Destinies Review', + 'description': 'md5:db88c0e7f47e9ea50df3271b9dc72e1d', 'thumbnail': 're:^https?://.*\.jpg$', + 'uploader_id': 'UCJugRGo4STYMeFr5RoOShtQ', + 'uploader': 'Gamekings Vault', + 'upload_date': '20151123', }, }, { # vimeo video @@ -43,7 +46,11 @@ def _real_extract(self, url): webpage = self._download_webpage(url, video_id) playlist_id = self._search_regex( - r'gogoVideo\(\s*\d+\s*,\s*"([^"]+)', webpage, 'playlist id') + r'gogoVideo\(.*,\s*"([^"]+)', webpage, 'playlist id') + + # Check if a YouTube embed is used + if playlist_id.find('youtube') != -1: + return self.url_result(playlist_id, ie='Youtube') playlist = self._download_xml( 'http://www.gamekings.tv/wp-content/themes/gk2010/rss_playlist.php?id=%s' % playlist_id,