diff options
author | Philipp Hagemeister <phihag@phihag.de> | 2014-08-24 07:02:29 +0200 |
---|---|---|
committer | Philipp Hagemeister <phihag@phihag.de> | 2014-08-24 07:02:29 +0200 |
commit | 11f75cac3db14681b306633a496e9aaae2cfc0a7 (patch) | |
tree | 3e383f5389240840a4408137cf05502116b35c10 | |
parent | e673db0194a40b0904c2196426a1ec2cbc030945 (diff) | |
parent | 8c778adc39fbaa79a6e885532b933364c9952817 (diff) |
Merge remote-tracking branch 'olebowle/gameone'
-rw-r--r-- | test/test_playlists.py | 9 | ||||
-rw-r--r-- | youtube_dl/extractor/__init__.py | 5 | ||||
-rw-r--r-- | youtube_dl/extractor/gameone.py | 14 |
3 files changed, 27 insertions, 1 deletions
diff --git a/test/test_playlists.py b/test/test_playlists.py index 6448fea38..0691ff110 100644 --- a/test/test_playlists.py +++ b/test/test_playlists.py @@ -62,6 +62,7 @@ from youtube_dl.extractor import ( InstagramUserIE, CSpanIE, AolIE, + GameOnePlaylistIE, ) @@ -407,5 +408,13 @@ class TestPlaylists(unittest.TestCase): self.assertEqual(result['id'], 'rbhagwati2') assertGreaterEqual(self, 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() diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index 0203d9d63..de6e8ee30 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -116,7 +116,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 .gamestar import GameStarIE from .gametrailers import GametrailersIE diff --git a/youtube_dl/extractor/gameone.py b/youtube_dl/extractor/gameone.py index b580f52fb..12f757329 100644 --- a/youtube_dl/extractor/gameone.py +++ b/youtube_dl/extractor/gameone.py @@ -88,3 +88,17 @@ 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): + webpage = self._download_webpage('http://www.gameone.de/tv', 'TV') + max_id = max(map(int, re.findall(r'<a href="/tv/(\d+)"', webpage))) + entries = [self.url_result('http://www.gameone.de/tv/%d' % video_id, 'GameOne') for video_id in range(max_id, 0, -1)] + + return { + '_type': 'playlist', + 'title': 'GameOne', + 'entries': entries, + } |