diff options
| -rw-r--r-- | youtube_dl/extractor/gameone.py | 50 | 
1 files changed, 34 insertions, 16 deletions
| diff --git a/youtube_dl/extractor/gameone.py b/youtube_dl/extractor/gameone.py index 3022f539d..da9d44791 100644 --- a/youtube_dl/extractor/gameone.py +++ b/youtube_dl/extractor/gameone.py @@ -21,21 +21,38 @@ RAW_MP4_URL = 'http://cdn.riptide-mtvn.com/'  class GameOneIE(InfoExtractor):      _VALID_URL = r'https?://(?:www\.)?gameone\.de/tv/(?P<id>\d+)' -    _TEST = { -        'url': 'http://www.gameone.de/tv/288', -        'md5': '136656b7fb4c9cb4a8e2d500651c499b', -        'info_dict': { -            'id': '288', -            'ext': 'mp4', -            'title': 'Game One - Folge 288', -            'duration': 1238, -            'thumbnail': 'http://s3.gameone.de/gameone/assets/video_metas/teaser_images/000/643/636/big/640x360.jpg', -            'description': 'FIFA-Pressepokal 2014, Star Citizen, Kingdom Come: Deliverance, Project Cars, Schöner Trants Nerdquiz Folge 2 Runde 1', -            'age_limit': 16, -            'upload_date': '20140513', -            'timestamp': 1399980122, +    _TESTS = [ +        { +            'url': 'http://www.gameone.de/tv/288', +            'md5': '136656b7fb4c9cb4a8e2d500651c499b', +            'info_dict': { +                'id': '288', +                'ext': 'mp4', +                'title': 'Game One - Folge 288', +                'duration': 1238, +                'thumbnail': 'http://s3.gameone.de/gameone/assets/video_metas/teaser_images/000/643/636/big/640x360.jpg', +                'description': 'FIFA-Pressepokal 2014, Star Citizen, Kingdom Come: Deliverance, Project Cars, Schöner Trants Nerdquiz Folge 2 Runde 1', +                'age_limit': 16, +                'upload_date': '20140513', +                'timestamp': 1399980122, +            } +        }, +        { +            'url': 'http://gameone.de/tv/220', +            'md5': '5227ca74c4ae6b5f74c0510a7c48839e', +            'info_dict': { +                'id': '220', +                'ext': 'mp4', +                'upload_date': '20120918', +                'description': 'Jet Set Radio HD, Tekken Tag Tournament 2, Source Filmmaker', +                'timestamp': 1347971451, +                'title': 'Game One - Folge 220', +                'duration': 896, +                'age_limit': 16, +            }          } -    } + +    ]      def _real_extract(self, url):          mobj = re.match(self._VALID_URL, url) @@ -66,7 +83,7 @@ class GameOneIE(InfoExtractor):              video_id,              'Downloading media:content')          rendition_items = content.findall('.//rendition') -        duration = int(rendition_items[0].get('duration')) +        duration = int(rendition_items[0].get('duration').split('.')[0])          formats = [              {                  'url': re.sub(r'.*/(r2)', RAW_MP4_URL + r'\1', r.find('./src').text), @@ -105,7 +122,8 @@ class GameOnePlaylistIE(InfoExtractor):          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') +            self.url_result('http://www.gameone.de/tv/%d' % +                            video_id, 'GameOne')              for video_id in range(max_id, 0, -1)]          return { | 
