[youtube] Extract end_time
This commit is contained in:
		
							parent
							
								
									7c80519cbf
								
							
						
					
					
						commit
						297a564bee
					
				@ -185,6 +185,8 @@ class InfoExtractor(object):
 | 
			
		||||
                    live stream that goes on instead of a fixed-length video.
 | 
			
		||||
    start_time:     Time in seconds where the reproduction should start, as
 | 
			
		||||
                    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.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -319,7 +319,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
 | 
			
		||||
    IE_NAME = 'youtube'
 | 
			
		||||
    _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': {
 | 
			
		||||
                'id': 'BaW_jenozKc',
 | 
			
		||||
                'ext': 'mp4',
 | 
			
		||||
@ -332,6 +332,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
 | 
			
		||||
                'like_count': int,
 | 
			
		||||
                'dislike_count': int,
 | 
			
		||||
                'start_time': 1,
 | 
			
		||||
                'end_time': 9,
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
@ -893,12 +894,14 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
 | 
			
		||||
            else 'https')
 | 
			
		||||
 | 
			
		||||
        start_time = None
 | 
			
		||||
        end_time = None
 | 
			
		||||
        parsed_url = compat_urllib_parse_urlparse(url)
 | 
			
		||||
        for component in [parsed_url.fragment, parsed_url.query]:
 | 
			
		||||
            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])
 | 
			
		||||
                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
 | 
			
		||||
        mobj = re.search(self._NEXT_URL_RE, url)
 | 
			
		||||
@ -1267,6 +1270,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
 | 
			
		||||
            'formats': formats,
 | 
			
		||||
            'is_live': is_live,
 | 
			
		||||
            'start_time': start_time,
 | 
			
		||||
            'end_time': end_time,
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user