2014-01-29 16:55:23 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								from  __future__  import  unicode_literals  
						 
					
						
							
								
									
										
										
										
											2013-06-23 22:20:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								import  os . path  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								from  . common  import  InfoExtractor  
						 
					
						
							
								
									
										
										
										
											2014-12-13 12:24:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								from  . . compat  import  (  
						 
					
						
							
								
									
										
										
										
											2013-06-23 22:20:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    compat_urllib_parse_urlparse , 
							 
						 
					
						
							
								
									
										
										
										
											2014-12-13 12:24:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								from  . . utils  import  (  
						 
					
						
							
								
									
										
										
										
											2013-06-23 22:20:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    ExtractorError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  MySpassIE ( InfoExtractor ) :  
						 
					
						
							
								
									
										
										
										
											2013-12-04 20:34:47 +07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    _VALID_URL  =  r ' http://www \ .myspass \ .de/.* ' 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-27 20:46:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    _TEST  =  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-29 16:55:23 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        ' url ' :  ' http://www.myspass.de/myspass/shows/tvshows/absolute-mehrheit/Absolute-Mehrheit-vom-17022013-Die-Highlights-Teil-2--/11741/ ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ' md5 ' :  ' 0b49f4844a068f8b33f4b7c88405862b ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ' info_dict ' :  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-12 15:01:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            ' id ' :  ' 11741 ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' ext ' :  ' mp4 ' , 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-29 16:55:23 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            " description " :  " Wer kann in die Fu \u00df stapfen von Wolfgang Kubicki treten und die Mehrheit der Zuschauer hinter sich versammeln? Wird vielleicht sogar die Absolute Mehrheit geknackt und der Jackpot von 200.000 Euro mit nach Hause genommen? " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            " title " :  " Absolute Mehrheit vom 17.02.2013 - Die Highlights, Teil 2 " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } , 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-27 20:46:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-23 22:20:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  _real_extract ( self ,  url ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        META_DATA_URL_TEMPLATE  =  ' http://www.myspass.de/myspass/includes/apps/video/getvideometadataxml.php?id= %s ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # video id is the last path element of the URL 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # usually there is a trailing slash, so also try the second but last 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        url_path  =  compat_urllib_parse_urlparse ( url ) . path 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        url_parent_path ,  video_id  =  os . path . split ( url_path ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  not  video_id : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _ ,  video_id  =  os . path . split ( url_parent_path ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # get metadata 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        metadata_url  =  META_DATA_URL_TEMPLATE  %  video_id 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-26 18:48:52 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        metadata  =  self . _download_xml ( metadata_url ,  video_id ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-23 22:20:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # extract values from metadata 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        url_flv_el  =  metadata . find ( ' url_flv ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  url_flv_el  is  None : 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-29 16:55:23 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            raise  ExtractorError ( ' Unable to extract download url ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-23 22:20:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        video_url  =  url_flv_el . text 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        title_el  =  metadata . find ( ' title ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  title_el  is  None : 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-29 16:55:23 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            raise  ExtractorError ( ' Unable to extract title ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-23 22:20:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        title  =  title_el . text 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        format_id_el  =  metadata . find ( ' format_id ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  format_id_el  is  None : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            format  =  ' mp4 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            format  =  format_id_el . text 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        description_el  =  metadata . find ( ' description ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  description_el  is  not  None : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            description  =  description_el . text 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            description  =  None 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        imagePreview_el  =  metadata . find ( ' imagePreview ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  imagePreview_el  is  not  None : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            thumbnail  =  imagePreview_el . text 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            thumbnail  =  None 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-29 16:55:23 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  { 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-23 22:20:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								            ' id ' :  video_id , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' url ' :  video_url , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' title ' :  title , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' format ' :  format , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' thumbnail ' :  thumbnail , 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-29 16:55:23 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            ' description ' :  description , 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-23 22:20:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        }