[youtube] Extract end_time

totalwebcasting
Jaime Marquínez Ferrándiz 9 years ago
parent 7c80519cbf
commit 297a564bee

@ -185,6 +185,8 @@ class InfoExtractor(object):
live stream that goes on instead of a fixed-length video. live stream that goes on instead of a fixed-length video.
start_time: Time in seconds where the reproduction should start, as start_time: Time in seconds where the reproduction should start, as
specified in the url. specified in the url.
end_time: Time in seconds where the reproduction should end, as
specified in the url.
Unless mentioned otherwise, the fields should be Unicode strings. Unless mentioned otherwise, the fields should be Unicode strings.

@ -319,7 +319,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
IE_NAME = 'youtube' IE_NAME = 'youtube'
_TESTS = [ _TESTS = [
{ {
'url': 'http://www.youtube.com/watch?v=BaW_jenozKcj&t=1s', 'url': 'http://www.youtube.com/watch?v=BaW_jenozKcj&t=1s&end=9',
'info_dict': { 'info_dict': {
'id': 'BaW_jenozKc', 'id': 'BaW_jenozKc',
'ext': 'mp4', 'ext': 'mp4',
@ -332,6 +332,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'like_count': int, 'like_count': int,
'dislike_count': int, 'dislike_count': int,
'start_time': 1, 'start_time': 1,
'end_time': 9,
} }
}, },
{ {
@ -893,12 +894,14 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
else 'https') else 'https')
start_time = None start_time = None
end_time = None
parsed_url = compat_urllib_parse_urlparse(url) parsed_url = compat_urllib_parse_urlparse(url)
for component in [parsed_url.fragment, parsed_url.query]: for component in [parsed_url.fragment, parsed_url.query]:
query = compat_parse_qs(component) query = compat_parse_qs(component)
if 't' in query: if start_time is None and 't' in query:
start_time = parse_duration(query['t'][0]) start_time = parse_duration(query['t'][0])
break if end_time is None and 'end' in query:
end_time = parse_duration(query['end'][0])
# Extract original video URL from URL with redirection, like age verification, using next_url parameter # Extract original video URL from URL with redirection, like age verification, using next_url parameter
mobj = re.search(self._NEXT_URL_RE, url) mobj = re.search(self._NEXT_URL_RE, url)
@ -1267,6 +1270,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'formats': formats, 'formats': formats,
'is_live': is_live, 'is_live': is_live,
'start_time': start_time, 'start_time': start_time,
'end_time': end_time,
} }

Loading…
Cancel
Save