Merge remote-tracking branch 'olebowle/gameone'

This commit is contained in:
Philipp Hagemeister 2014-08-24 07:02:29 +02:00
commit 11f75cac3d
3 changed files with 27 additions and 1 deletions

View File

@ -62,6 +62,7 @@ from youtube_dl.extractor import (
InstagramUserIE, InstagramUserIE,
CSpanIE, CSpanIE,
AolIE, AolIE,
GameOnePlaylistIE,
) )
@ -407,5 +408,13 @@ class TestPlaylists(unittest.TestCase):
self.assertEqual(result['id'], 'rbhagwati2') self.assertEqual(result['id'], 'rbhagwati2')
assertGreaterEqual(self, len(result['entries']), 179) 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__': if __name__ == '__main__':
unittest.main() unittest.main()

View File

@ -116,7 +116,10 @@ from .freesound import FreesoundIE
from .freespeech import FreespeechIE from .freespeech import FreespeechIE
from .funnyordie import FunnyOrDieIE from .funnyordie import FunnyOrDieIE
from .gamekings import GamekingsIE from .gamekings import GamekingsIE
from .gameone import GameOneIE from .gameone import (
GameOneIE,
GameOnePlaylistIE,
)
from .gamespot import GameSpotIE from .gamespot import GameSpotIE
from .gamestar import GameStarIE from .gamestar import GameStarIE
from .gametrailers import GametrailersIE from .gametrailers import GametrailersIE

View File

@ -88,3 +88,17 @@ class GameOneIE(InfoExtractor):
'age_limit': age_limit, 'age_limit': age_limit,
'timestamp': timestamp, '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,
}