From c065fd35ae045ce537b7bfe9f1efa14e8bddc21b Mon Sep 17 00:00:00 2001 From: Ole Ernst Date: Sun, 13 Jul 2014 12:16:25 +0200 Subject: [PATCH 1/3] [gameone] add playlist capability --- youtube_dl/extractor/__init__.py | 5 ++++- youtube_dl/extractor/gameone.py | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index a03f9d3ad..17b695a56 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -106,7 +106,10 @@ from .freesound import FreesoundIE from .freespeech import FreespeechIE from .funnyordie import FunnyOrDieIE from .gamekings import GamekingsIE -from .gameone import GameOneIE +from .gameone import ( + GameOneIE, + GameOnePlaylistIE, +) from .gamespot import GameSpotIE from .gametrailers import GametrailersIE from .gdcvault import GDCVaultIE diff --git a/youtube_dl/extractor/gameone.py b/youtube_dl/extractor/gameone.py index b580f52fb..0a0fb19e6 100644 --- a/youtube_dl/extractor/gameone.py +++ b/youtube_dl/extractor/gameone.py @@ -1,6 +1,7 @@ # coding: utf-8 from __future__ import unicode_literals +import datetime import re from .common import InfoExtractor @@ -88,3 +89,18 @@ class GameOneIE(InfoExtractor): 'age_limit': age_limit, 'timestamp': timestamp, } + +class GameOnePlaylistIE(InfoExtractor): + _VALID_URL = r'https?://(?:www\.)?gameone\.de(?:/tv)?/?$' + + def _real_extract(self, url): + this_year = datetime.date.today().year + webpage = self._download_webpage('http://www.gameone.de/tv/year/%d' % this_year, this_year) + max_id = max(map(int, re.findall(r' Date: Wed, 23 Jul 2014 09:32:01 +0200 Subject: [PATCH 2/3] [gameone] add playlist test --- test/test_playlists.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/test_playlists.py b/test/test_playlists.py index 1a38a667b..3bc353604 100644 --- a/test/test_playlists.py +++ b/test/test_playlists.py @@ -50,6 +50,7 @@ from youtube_dl.extractor import ( InstagramUserIE, CSpanIE, AolIE, + GameOnePlaylistIE, ) @@ -395,5 +396,13 @@ class TestPlaylists(unittest.TestCase): self.assertEqual(result['id'], 'rbhagwati2') self.assertTrue(len(result['entries']) >= 179) + def test_GameOne_playlist(self): + dl = FakeYDL() + ie = GameOnePlaylistIE(dl) + result = ie.extract('http://www.gameone.de/tv') + self.assertIsPlaylist(result) + self.assertEqual(result['title'], 'GameOne') + assertGreaterEqual(self, len(result['entries']), 294) + if __name__ == '__main__': unittest.main() From 8c778adc39fbaa79a6e885532b933364c9952817 Mon Sep 17 00:00:00 2001 From: Ole Ernst Date: Wed, 23 Jul 2014 10:00:50 +0200 Subject: [PATCH 3/3] [gameone] simplify playlist extractor --- youtube_dl/extractor/gameone.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/youtube_dl/extractor/gameone.py b/youtube_dl/extractor/gameone.py index 0a0fb19e6..12f757329 100644 --- a/youtube_dl/extractor/gameone.py +++ b/youtube_dl/extractor/gameone.py @@ -1,7 +1,6 @@ # coding: utf-8 from __future__ import unicode_literals -import datetime import re from .common import InfoExtractor @@ -94,8 +93,7 @@ class GameOnePlaylistIE(InfoExtractor): _VALID_URL = r'https?://(?:www\.)?gameone\.de(?:/tv)?/?$' def _real_extract(self, url): - this_year = datetime.date.today().year - webpage = self._download_webpage('http://www.gameone.de/tv/year/%d' % this_year, this_year) + webpage = self._download_webpage('http://www.gameone.de/tv', 'TV') max_id = max(map(int, re.findall(r'