aboutsummaryrefslogtreecommitdiffstats
path: root/youtube_dl/extractor/twitch.py
diff options
context:
space:
mode:
authorNiklas Haas <git@nand.wakku.to>2015-08-03 01:54:21 +0200
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2015-08-03 20:07:23 +0200
commite704f87f869b98bbed56d7dd0fe27710306c8272 (patch)
tree350d9589a55b781ad468565c6e767303525c6a5e /youtube_dl/extractor/twitch.py
parent8f5639afcbb967f276fb8b35a24559cdcc3b6d32 (diff)
downloadyoutube-dl-e704f87f869b98bbed56d7dd0fe27710306c8272.zip
youtube-dl-e704f87f869b98bbed56d7dd0fe27710306c8272.tar.gz
youtube-dl-e704f87f869b98bbed56d7dd0fe27710306c8272.tar.bz2
[twitch] Parse start_time from 't' (closes #6441)
Eg. for VOD links like http://www.twitch.tv/gamesdonequick/v/9136645?t=14h29m15s
Diffstat (limited to 'youtube_dl/extractor/twitch.py')
-rw-r--r--youtube_dl/extractor/twitch.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/youtube_dl/extractor/twitch.py b/youtube_dl/extractor/twitch.py
index 73ce335..a2b6a35 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