mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-12-29 15:10:46 +00:00
[twitch] Parse start_time from 't' (closes #6441)
Eg. for VOD links like http://www.twitch.tv/gamesdonequick/v/9136645?t=14h29m15s
This commit is contained in:
parent
8f5639afcb
commit
e704f87f86
1 changed files with 11 additions and 1 deletions
|
@ -7,12 +7,15 @@
|
||||||
|
|
||||||
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 @@ def _real_extract(self, url):
|
||||||
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
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue