diff options
author | Ole Ernst <olebowle@gmx.com> | 2014-07-13 12:16:25 +0200 |
---|---|---|
committer | Ole Ernst <olebowle@gmx.com> | 2014-07-13 12:16:25 +0200 |
commit | c065fd35ae045ce537b7bfe9f1efa14e8bddc21b (patch) | |
tree | 30c65b6e8d6c1501d0d8bed420a2e6016207b85b /youtube_dl | |
parent | 36cb99f95843aebac873c5f5281d3cd95f76dd01 (diff) |
[gameone] add playlist capability
Diffstat (limited to 'youtube_dl')
-rw-r--r-- | youtube_dl/extractor/__init__.py | 5 | ||||
-rw-r--r-- | youtube_dl/extractor/gameone.py | 16 |
2 files changed, 20 insertions, 1 deletions
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'<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, + } |