aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOle Ernst <olebowle@gmx.com>2014-07-13 12:16:25 +0200
committerOle Ernst <olebowle@gmx.com>2014-07-13 12:16:25 +0200
commitc065fd35ae045ce537b7bfe9f1efa14e8bddc21b (patch)
tree30c65b6e8d6c1501d0d8bed420a2e6016207b85b
parent36cb99f95843aebac873c5f5281d3cd95f76dd01 (diff)
[gameone] add playlist capability
-rw-r--r--youtube_dl/extractor/__init__.py5
-rw-r--r--youtube_dl/extractor/gameone.py16
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,
+ }