2014-01-22 00:07:02 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								from  __future__  import  unicode_literals  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-06-23 21:34:03 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								import  re  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-02-18 18:27:45 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								from  . common  import  InfoExtractor  
						 
					
						
							
								
									
										
										
										
											2014-12-13 12:24:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								from  . . compat  import  (  
						 
					
						
							
								
									
										
										
										
											2013-07-14 13:41:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    compat_urllib_parse , 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-08 20:06:20 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    compat_urllib_request , 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-30 21:57:59 +06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    compat_str , 
							 
						 
					
						
							
								
									
										
										
										
											2014-12-13 12:24:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								from  . . utils  import  (  
						 
					
						
							
								
									
										
										
										
											2013-06-23 21:34:03 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    ExtractorError , 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-22 00:17:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    find_xpath_attr , 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-20 22:11:34 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    fix_xml_ampersands , 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-08 22:06:28 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    HEADRequest , 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-08 20:06:20 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    unescapeHTML , 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-21 20:54:47 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    url_basename , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    RegexNotFoundError , 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-23 21:34:03 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-01-22 00:17:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 14:02:04 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								def  _media_xml_tag ( tag ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  ' { http://search.yahoo.com/mrss/} %s '  %  tag 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-23 21:34:03 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 13:41:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-02-18 18:27:45 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class  MTVServicesInfoExtractor ( InfoExtractor ) :  
						 
					
						
							
								
									
										
										
										
											2014-03-08 20:06:20 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    _MOBILE_TEMPLATE  =  None 
							 
						 
					
						
							
								
									
										
										
										
											2015-04-25 20:22:20 +06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    _LANG  =  None 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-22 19:19:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 13:41:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    @staticmethod 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  _id_from_uri ( uri ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  uri . split ( ' : ' ) [ - 1 ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # This was originally implemented for ComedyCentral, but it also works here 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    @staticmethod 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  _transform_rtmp_url ( rtmp_video_url ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        m  =  re . match ( r ' ^rtmpe?://.*?/(?P<finalid>gsp \ ..+?/.*)$ ' ,  rtmp_video_url ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  not  m : 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-17 22:11:39 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            return  rtmp_video_url 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-12 01:10:08 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        base  =  ' http://viacommtvstrmfs.fplive.net/ ' 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 14:29:15 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  base  +  m . group ( ' finalid ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-06-22 19:19:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    def  _get_feed_url ( self ,  uri ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  self . _FEED_URL 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 14:29:15 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    def  _get_thumbnail_url ( self ,  uri ,  itemdoc ) : 
							 
						 
					
						
							
								
									
										
										
										
											2013-12-03 14:58:24 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        search_path  =  ' %s / %s '  %  ( _media_xml_tag ( ' group ' ) ,  _media_xml_tag ( ' thumbnail ' ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        thumb_node  =  itemdoc . find ( search_path ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  thumb_node  is  None : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  None 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  thumb_node . attrib [ ' url ' ] 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 13:41:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-03-08 20:06:20 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    def  _extract_mobile_video_formats ( self ,  mtvn_id ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        webpage_url  =  self . _MOBILE_TEMPLATE  %  mtvn_id 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        req  =  compat_urllib_request . Request ( webpage_url ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # Otherwise we get a webpage that would execute some javascript 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-24 18:07:21 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        req . add_header ( ' User-Agent ' ,  ' curl/7 ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-08 20:06:20 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        webpage  =  self . _download_webpage ( req ,  mtvn_id , 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-23 21:39:15 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                         ' Downloading mobile page ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-08 22:06:28 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        metrics_url  =  unescapeHTML ( self . _search_regex ( r ' <a href= " (http://metrics.+?) " ' ,  webpage ,  ' url ' ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        req  =  HEADRequest ( metrics_url ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        response  =  self . _request_webpage ( req ,  mtvn_id ,  ' Resolving url ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        url  =  response . geturl ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # Transform the url to get the best quality: 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        url  =  re . sub ( r ' .+pxE=mp4 ' ,  ' http://mtvnmobile.vo.llnwd.net/kip0/_pxn=0+_pxK=18639+_pxE=mp4 ' ,  url ,  1 ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-23 20:41:03 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  [ { ' url ' :  url ,  ' ext ' :  ' mp4 ' } ] 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-08 20:06:20 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  _extract_video_formats ( self ,  mdoc ,  mtvn_id ) : 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-08 19:43:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  re . match ( r ' .*/(error_country_block \ .swf|geoblock \ .mp4)$ ' ,  mdoc . find ( ' .//src ' ) . text )  is  not  None : 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-08 20:06:20 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            if  mtvn_id  is  not  None  and  self . _MOBILE_TEMPLATE  is  not  None : 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-08 22:06:28 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                self . to_screen ( ' The normal version is not available from your  ' 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-23 21:39:15 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                               ' country, trying with the mobile version ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-08 20:06:20 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                return  self . _extract_mobile_video_formats ( mtvn_id ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-08 19:43:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            raise  ExtractorError ( ' This video is not available from your country. ' , 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-23 21:39:15 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                 expected = True ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 13:41:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-10-04 11:10:04 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        formats  =  [ ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        for  rendition  in  mdoc . findall ( ' .//rendition ' ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            try : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                _ ,  _ ,  ext  =  rendition . attrib [ ' type ' ] . partition ( ' / ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                rtmp_video_url  =  rendition . find ( ' ./src ' ) . text 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-01 12:08:21 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                if  rtmp_video_url . endswith ( ' siteunavail.png ' ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    continue 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                formats . append ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ' ext ' :  ext , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ' url ' :  self . _transform_rtmp_url ( rtmp_video_url ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ' format_id ' :  rendition . get ( ' bitrate ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ' width ' :  int ( rendition . get ( ' width ' ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ' height ' :  int ( rendition . get ( ' height ' ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-04 11:10:04 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            except  ( KeyError ,  TypeError ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                raise  ExtractorError ( ' Invalid rendition field. ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-16 23:49:41 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        self . _sort_formats ( formats ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-04 11:10:04 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  formats 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 13:41:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-01-30 21:57:59 +06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    def  _extract_subtitles ( self ,  mdoc ,  mtvn_id ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        subtitles  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        for  transcript  in  mdoc . findall ( ' .//transcript ' ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  transcript . get ( ' kind ' )  !=  ' captions ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                continue 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            lang  =  transcript . get ( ' srclang ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-18 18:27:45 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            subtitles [ lang ]  =  [ { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                ' url ' :  compat_str ( typographic . get ( ' src ' ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                ' ext ' :  typographic . get ( ' format ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            }  for  typographic  in  transcript . findall ( ' ./typographic ' ) ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  subtitles 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-30 21:57:59 +06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 13:41:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    def  _get_video_info ( self ,  itemdoc ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        uri  =  itemdoc . find ( ' guid ' ) . text 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        video_id  =  self . _id_from_uri ( uri ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . report_extraction ( video_id ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 14:02:04 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        mediagen_url  =  itemdoc . find ( ' %s / %s '  %  ( _media_xml_tag ( ' group ' ) ,  _media_xml_tag ( ' content ' ) ) ) . attrib [ ' url ' ] 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-28 23:37:01 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # Remove the templates, like &device={device} 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-22 00:07:02 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        mediagen_url  =  re . sub ( r ' &[^=]*?= { .*?}(?=(&|$)) ' ,  ' ' ,  mediagen_url ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 13:41:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ' acceptMethods '  not  in  mediagen_url : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            mediagen_url  + =  ' &acceptMethods=fms ' 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-22 00:21:27 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-01-21 19:57:38 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        mediagen_doc  =  self . _download_xml ( mediagen_url ,  video_id , 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-23 21:39:15 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                          ' Downloading video urls ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 13:41:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-04-15 21:02:34 +06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        item  =  mediagen_doc . find ( ' ./video/item ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  item  is  not  None  and  item . get ( ' type ' )  ==  ' text ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            message  =  ' %s  returned error:  '  %  self . IE_NAME 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  item . get ( ' code ' )  is  not  None : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                message  + =  ' %s  -  '  %  item . get ( ' code ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            message  + =  item . text 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            raise  ExtractorError ( message ,  expected = True ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 13:41:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        description_node  =  itemdoc . find ( ' description ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  description_node  is  not  None : 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-10 19:53:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            description  =  description_node . text . strip ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 13:41:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            description  =  None 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-04 11:10:04 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-01-22 00:17:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        title_el  =  None 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  title_el  is  None : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            title_el  =  find_xpath_attr ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                itemdoc ,  ' .// { http://search.yahoo.com/mrss/}category ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                ' scheme ' ,  ' urn:mtvn:video_title ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  title_el  is  None : 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-12 01:07:30 +07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            title_el  =  itemdoc . find ( ' .// { http://search.yahoo.com/mrss/}title ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  title_el  is  None : 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-12 01:50:53 +07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            title_el  =  itemdoc . find ( ' .//title ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-06 04:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            if  title_el . text  is  None : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                title_el  =  None 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-01-22 00:17:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        title  =  title_el . text 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  title  is  None : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            raise  ExtractorError ( ' Could not find video title ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-22 03:49:16 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        title  =  title . strip ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-22 00:17:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-03-08 20:06:20 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # This a short id that's used in the webpage urls 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        mtvn_id  =  None 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        mtvn_id_node  =  find_xpath_attr ( itemdoc ,  ' .// { http://search.yahoo.com/mrss/}category ' , 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-23 21:39:15 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                       ' scheme ' ,  ' urn:mtvn:id ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-08 20:06:20 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  mtvn_id_node  is  not  None : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            mtvn_id  =  mtvn_id_node . text 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-12-03 14:21:06 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-22 00:17:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            ' title ' :  title , 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-08 20:06:20 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            ' formats ' :  self . _extract_video_formats ( mediagen_doc ,  mtvn_id ) , 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-30 21:57:59 +06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            ' subtitles ' :  self . _extract_subtitles ( mediagen_doc ,  mtvn_id ) , 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-04 11:10:04 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            ' id ' :  video_id , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' thumbnail ' :  self . _get_thumbnail_url ( uri ,  itemdoc ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' description ' :  description , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 13:41:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    def  _get_videos_info ( self ,  uri ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        video_id  =  self . _id_from_uri ( uri ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-22 19:19:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        feed_url  =  self . _get_feed_url ( uri ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 13:41:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        data  =  compat_urllib_parse . urlencode ( { ' uri ' :  uri } ) 
							 
						 
					
						
							
								
									
										
										
										
											2015-04-25 20:22:20 +06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        info_url  =  feed_url  +  ' ? ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  self . _LANG : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            info_url  + =  ' lang= %s & '  %  self . _LANG 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        info_url  + =  data 
							 
						 
					
						
							
								
									
										
										
										
											2013-12-10 12:45:22 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        idoc  =  self . _download_xml ( 
							 
						 
					
						
							
								
									
										
										
										
											2015-04-25 20:22:20 +06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            info_url ,  video_id , 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-22 00:07:02 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            ' Downloading info ' ,  transform_source = fix_xml_ampersands ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-20 16:25:19 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  self . playlist_result ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            [ self . _get_video_info ( item )  for  item  in  idoc . findall ( ' .//item ' ) ] ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-23 21:34:03 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-01-21 20:54:47 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    def  _real_extract ( self ,  url ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        title  =  url_basename ( url ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        webpage  =  self . _download_webpage ( url ,  title ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        try : 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-22 11:35:17 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            # the url can be http://media.mtvnservices.com/fb/{mgid}.swf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            # or http://media.mtvnservices.com/{mgid} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            og_url  =  self . _og_search_video_url ( webpage ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            mgid  =  url_basename ( og_url ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  mgid . endswith ( ' .swf ' ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                mgid  =  mgid [ : - 4 ] 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-21 20:54:47 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        except  RegexNotFoundError : 
							 
						 
					
						
							
								
									
										
										
										
											2014-07-13 21:15:18 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            mgid  =  None 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  mgid  is  None  or  ' : '  not  in  mgid : 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-30 19:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            mgid  =  self . _search_regex ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                [ r ' data-mgid= " (.*?) " ' ,  r ' swfobject.embedSWF \ ( " .*?(mgid:.*?) " ' ] , 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-26 13:06:02 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                webpage ,  ' mgid ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-30 21:57:59 +06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        videos_info  =  self . _get_videos_info ( mgid ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  videos_info 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-21 20:54:47 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-12-03 14:58:24 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-06-22 19:19:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class  MTVServicesEmbeddedIE ( MTVServicesInfoExtractor ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    IE_NAME  =  ' mtvservices:embedded ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    _VALID_URL  =  r ' https?://media \ .mtvnservices \ .com/embed/(?P<mgid>.+?)( \ ?|/|$) ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    _TEST  =  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # From http://www.thewrap.com/peter-dinklage-sums-up-game-of-thrones-in-45-seconds-video/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ' url ' :  ' http://media.mtvnservices.com/embed/mgid:uma:video:mtv.com:1043906/cp~vid % 3D1043906 %26u ri % 3Dmgid % 3Auma % 3Avideo % 3Amtv.com % 3A1043906 ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ' md5 ' :  ' cb349b21a7897164cede95bd7bf3fbb9 ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ' info_dict ' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' id ' :  ' 1043906 ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' ext ' :  ' mp4 ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' title ' :  ' Peter Dinklage Sums Up  \' Game Of Thrones \'  In 45 Seconds ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' description ' :  ' " Sexy sexy sexy, stabby stabby stabby, beautiful language, "  says Peter Dinklage as he tries summarizing  " Game of Thrones "  in under a minute. ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  _get_feed_url ( self ,  uri ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        video_id  =  self . _id_from_uri ( uri ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        site_id  =  uri . replace ( video_id ,  ' ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-14 19:02:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        config_url  =  ( ' http://media.mtvnservices.com/pmt/e1/players/ {0} / ' 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-23 21:39:15 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      ' context4/context5/config.xml ' . format ( site_id ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-22 19:19:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        config_doc  =  self . _download_xml ( config_url ,  video_id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        feed_node  =  config_doc . find ( ' .//feed ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        feed_url  =  feed_node . text . strip ( ) . split ( ' ? ' ) [ 0 ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  feed_url 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  _real_extract ( self ,  url ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        mobj  =  re . match ( self . _VALID_URL ,  url ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        mgid  =  mobj . group ( ' mgid ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  self . _get_videos_info ( mgid ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-12-03 14:58:24 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class  MTVIE ( MTVServicesInfoExtractor ) :  
						 
					
						
							
								
									
										
										
										
											2013-12-16 22:05:28 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    _VALID_URL  =  r ''' (?x)^https?:// 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ( ? : ( ? : www \. ) ? mtv \. com / videos / . + ? / ( ? P < videoid > [ 0 - 9 ] + ) / [ ^ / ] + $ | 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								           m \. mtv \. com / videos / video \. rbml \? . * ? id = ( ? P < mgid > [ ^ & ] + ) ) ''' 
 
							 
						 
					
						
							
								
									
										
										
										
											2013-12-03 14:58:24 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    _FEED_URL  =  ' http://www.mtv.com/player/embed/AS3/rss/ ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    _TESTS  =  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-22 00:07:02 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            ' url ' :  ' http://www.mtv.com/videos/misc/853555/ours-vh1-storytellers.jhtml ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' md5 ' :  ' 850f3f143316b1e71fa56a4edfd6e0f8 ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' info_dict ' :  { 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-01 12:08:21 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                ' id ' :  ' 853555 ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                ' ext ' :  ' mp4 ' , 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-22 00:07:02 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                ' title ' :  ' Taylor Swift -  " Ours (VH1 Storytellers) " ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                ' description ' :  ' Album: Taylor Swift performs  " Ours "  for VH1 Storytellers at Harvey Mudd College. ' , 
							 
						 
					
						
							
								
									
										
										
										
											2013-12-03 14:58:24 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  _get_thumbnail_url ( self ,  uri ,  itemdoc ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ' http://mtv.mtvnimages.com/uri/ '  +  uri 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-06-23 21:34:03 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    def  _real_extract ( self ,  url ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        mobj  =  re . match ( self . _VALID_URL ,  url ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        video_id  =  mobj . group ( ' videoid ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-12-31 17:21:44 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        uri  =  mobj . groupdict ( ) . get ( ' mgid ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-12-16 22:05:28 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  uri  is  None : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            webpage  =  self . _download_webpage ( url ,  video_id ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-23 20:41:03 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-12-16 22:05:28 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            # Some videos come from Vevo.com 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-01 12:08:21 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            m_vevo  =  re . search ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                r ' (?s)isVevoVideo = true;.*?vevoVideoId =  " (.*?) " ; ' ,  webpage ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-12-16 22:05:28 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            if  m_vevo : 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-23 21:20:46 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                vevo_id  =  m_vevo . group ( 1 ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-22 00:07:02 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                self . to_screen ( ' Vevo video detected:  %s '  %  vevo_id ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-12-16 22:05:28 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                return  self . url_result ( ' vevo: %s '  %  vevo_id ,  ie = ' Vevo ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-23 20:41:03 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-01-22 00:07:02 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            uri  =  self . _html_search_regex ( r ' /uri/(.*?) \ ? ' ,  webpage ,  ' uri ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-14 13:41:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  self . _get_videos_info ( uri ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-21 20:59:31 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  MTVIggyIE ( MTVServicesInfoExtractor ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    IE_NAME  =  ' mtviggy.com ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    _VALID_URL  =  r ' https?://www \ .mtviggy \ .com/videos/.+ ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    _TEST  =  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ' url ' :  ' http://www.mtviggy.com/videos/arcade-fire-behind-the-scenes-at-the-biggest-music-experiment-yet/ ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ' info_dict ' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' id ' :  ' 984696 ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' ext ' :  ' mp4 ' , 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-22 02:04:51 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            ' title ' :  ' Arcade Fire: Behind the Scenes at the Biggest Music Experiment Yet ' , 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-21 20:59:31 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    _FEED_URL  =  ' http://all.mtvworldverticals.com/feed-xml/ '