diff options
| author | Niklas Haas <git@nand.wakku.to> | 2015-08-03 01:54:21 +0200 | 
|---|---|---|
| committer | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2015-08-03 20:07:23 +0200 | 
| commit | e704f87f869b98bbed56d7dd0fe27710306c8272 (patch) | |
| tree | 350d9589a55b781ad468565c6e767303525c6a5e | |
| parent | 8f5639afcbb967f276fb8b35a24559cdcc3b6d32 (diff) | |
[twitch] Parse start_time from 't' (closes #6441)
Eg. for VOD links like http://www.twitch.tv/gamesdonequick/v/9136645?t=14h29m15s
| -rw-r--r-- | youtube_dl/extractor/twitch.py | 12 | 
1 files changed, 11 insertions, 1 deletions
diff --git a/youtube_dl/extractor/twitch.py b/youtube_dl/extractor/twitch.py index 73ce335b7..a2b6a35aa 100644 --- a/youtube_dl/extractor/twitch.py +++ b/youtube_dl/extractor/twitch.py @@ -7,12 +7,15 @@ import random  from .common import InfoExtractor  from ..compat import ( +    compat_parse_qs,      compat_str,      compat_urllib_parse, +    compat_urllib_parse_urlparse,      compat_urllib_request,  )  from ..utils import (      ExtractorError, +    parse_duration,      parse_iso8601,  ) @@ -185,7 +188,7 @@ class TwitchVodIE(TwitchItemBaseIE):      _ITEM_SHORTCUT = 'v'      _TEST = { -        'url': 'http://www.twitch.tv/riotgames/v/6528877', +        'url': 'http://www.twitch.tv/riotgames/v/6528877?t=5m10s',          'info_dict': {              'id': 'v6528877',              'ext': 'mp4', @@ -197,6 +200,7 @@ class TwitchVodIE(TwitchItemBaseIE):              'uploader': 'Riot Games',              'uploader_id': 'riotgames',              'view_count': int, +            'start_time': 310,          },          'params': {              # m3u8 download @@ -216,6 +220,12 @@ class TwitchVodIE(TwitchItemBaseIE):              item_id, 'mp4')          self._prefer_source(formats)          info['formats'] = formats + +        parsed_url = compat_urllib_parse_urlparse(url) +        query = compat_parse_qs(parsed_url.query) +        if 't' in query: +            info['start_time'] = parse_duration(query['t'][0]) +          return info  | 
