[twitch] Parse start_time from 't' (closes #6441)

Eg. for VOD links like http://www.twitch.tv/gamesdonequick/v/9136645?t=14h29m15s
pull/6461/head
Niklas Haas 2015-08-03 01:54:21 +02:00 committed by Jaime Marquínez Ferrándiz
parent 8f5639afcb
commit e704f87f86
1 changed files with 11 additions and 1 deletions

View File

@ -7,12 +7,15 @@ import random
from .common import InfoExtractor from .common import InfoExtractor
from ..compat import ( from ..compat import (
compat_parse_qs,
compat_str, compat_str,
compat_urllib_parse, compat_urllib_parse,
compat_urllib_parse_urlparse,
compat_urllib_request, compat_urllib_request,
) )
from ..utils import ( from ..utils import (
ExtractorError, ExtractorError,
parse_duration,
parse_iso8601, parse_iso8601,
) )
@ -185,7 +188,7 @@ class TwitchVodIE(TwitchItemBaseIE):
_ITEM_SHORTCUT = 'v' _ITEM_SHORTCUT = 'v'
_TEST = { _TEST = {
'url': 'http://www.twitch.tv/riotgames/v/6528877', 'url': 'http://www.twitch.tv/riotgames/v/6528877?t=5m10s',
'info_dict': { 'info_dict': {
'id': 'v6528877', 'id': 'v6528877',
'ext': 'mp4', 'ext': 'mp4',
@ -197,6 +200,7 @@ class TwitchVodIE(TwitchItemBaseIE):
'uploader': 'Riot Games', 'uploader': 'Riot Games',
'uploader_id': 'riotgames', 'uploader_id': 'riotgames',
'view_count': int, 'view_count': int,
'start_time': 310,
}, },
'params': { 'params': {
# m3u8 download # m3u8 download
@ -216,6 +220,12 @@ class TwitchVodIE(TwitchItemBaseIE):
item_id, 'mp4') item_id, 'mp4')
self._prefer_source(formats) self._prefer_source(formats)
info['formats'] = 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 return info