diff options
| -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, +        }  | 
