#################################################################################################### def NormalizeURL(url): if '/embed-' in url: url = url.replace('/embed-', '/') url = url.split('-')[0] return url #################################################################################################### def MetadataObjectForURL(url): try: html = HTML.ElementFromURL(url) except: raise Ex.MediaNotAvailable if len(html.xpath('//*[contains(., "deleted")]')) > 0: raise Ex.MediaNotAvailable title = html.xpath('//h2[@class="video-title"]/text()') if len(title) < 1: raise Ex.MediaNotAvailable title = title[0].strip() thumb = html.xpath('//span[@id="vplayer"]/img/@src')[0] return VideoClipObject( title = title, thumb = thumb ) #################################################################################################### def MediaObjectsForURL(url): return [ MediaObject( video_resolution = 'sd', audio_channels = 2, optimized_for_streaming = False, parts = [ PartObject(key=Callback(PlayVideo, url=url)) ] ) ] #################################################################################################### @indirect def PlayVideo(url, **kwargs): page = HTTP.Request(url).content data = Regex("