Browse Source

Merge remote-tracking branch 'olebowle/gameone'

totalwebcasting
Philipp Hagemeister 10 years ago
parent
commit
11f75cac3d
3 changed files with 27 additions and 1 deletions
  1. +9
    -0
      test/test_playlists.py
  2. +4
    -1
      youtube_dl/extractor/__init__.py
  3. +14
    -0
      youtube_dl/extractor/gameone.py

+ 9
- 0
test/test_playlists.py View File

@ -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()

+ 4
- 1
youtube_dl/extractor/__init__.py View File

@ -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


+ 14
- 0
youtube_dl/extractor/gameone.py View File

@ -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,
}

Loading…
Cancel
Save