Merge remote-tracking branch 'olebowle/gameone'
This commit is contained in:
commit
11f75cac3d
3 changed files with 27 additions and 1 deletions
|
@ -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()
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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,
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue