[generic] Add support for livestream embeds (Fixes #4185)
This commit is contained in:
		@@ -434,7 +434,17 @@ class GenericIE(InfoExtractor):
 | 
			
		||||
                'title': 'Chet Chat 171 - Oct 29, 2014',
 | 
			
		||||
                'upload_date': '20141029',
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        },
 | 
			
		||||
        # Livestream embed
 | 
			
		||||
        {
 | 
			
		||||
            'url': 'http://www.esa.int/Our_Activities/Space_Science/Rosetta/Philae_comet_touch-down_webcast',
 | 
			
		||||
            'info_dict': {
 | 
			
		||||
                'id': '67864563',
 | 
			
		||||
                'ext': 'flv',
 | 
			
		||||
                'upload_date': '20141112',
 | 
			
		||||
                'title': 'Rosetta #CometLanding webcast HL 10',
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
    def report_following_redirect(self, new_url):
 | 
			
		||||
@@ -916,6 +926,12 @@ class GenericIE(InfoExtractor):
 | 
			
		||||
        if mobj is not None:
 | 
			
		||||
            return self.url_result(self._proto_relative_url(mobj.group('url'), scheme='http:'), 'CondeNast')
 | 
			
		||||
 | 
			
		||||
        mobj = re.search(
 | 
			
		||||
            r'<iframe[^>]+src="(?P<url>https?://new\.livestream\.com/[^"]+/player[^"]+)"',
 | 
			
		||||
            webpage)
 | 
			
		||||
        if mobj is not None:
 | 
			
		||||
            return self.url_result(mobj.group('url'), 'Livestream')
 | 
			
		||||
 | 
			
		||||
        def check_video(vurl):
 | 
			
		||||
            vpath = compat_urlparse.urlparse(vurl).path
 | 
			
		||||
            vext = determine_ext(vpath)
 | 
			
		||||
 
 | 
			
		||||
@@ -18,7 +18,7 @@ from ..utils import (
 | 
			
		||||
 | 
			
		||||
class LivestreamIE(InfoExtractor):
 | 
			
		||||
    IE_NAME = 'livestream'
 | 
			
		||||
    _VALID_URL = r'http://new\.livestream\.com/.*?/(?P<event_name>.*?)(/videos/(?P<id>\d+))?/?$'
 | 
			
		||||
    _VALID_URL = r'https?://new\.livestream\.com/.*?/(?P<event_name>.*?)(/videos/(?P<id>[0-9]+)(?:/player)?)?/?(?:$|[?#])'
 | 
			
		||||
    _TESTS = [{
 | 
			
		||||
        'url': 'http://new.livestream.com/CoheedandCambria/WebsterHall/videos/4719370',
 | 
			
		||||
        'md5': '53274c76ba7754fb0e8d072716f2292b',
 | 
			
		||||
@@ -37,6 +37,9 @@ class LivestreamIE(InfoExtractor):
 | 
			
		||||
            'title': 'TEDCity2.0 (English)',
 | 
			
		||||
        },
 | 
			
		||||
        'playlist_mincount': 4,
 | 
			
		||||
    }, {
 | 
			
		||||
        'url': 'https://new.livestream.com/accounts/362/events/3557232/videos/67864563/player?autoPlay=false&height=360&mute=false&width=640',
 | 
			
		||||
        'only_matching': True,
 | 
			
		||||
    }]
 | 
			
		||||
 | 
			
		||||
    def _parse_smil(self, video_id, smil_url):
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user