2013-06-29 19:17:27 +05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								import  re  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								from  . common  import  InfoExtractor  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  TrailerAddictIE ( InfoExtractor ) :  
						 
					
						
							
								
									
										
										
										
											2013-07-24 10:43:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    _VALID_URL  =  r ' (?:http://)?(?:www \ .)?traileraddict \ .com/(?:trailer|clip)/(?P<movie>.+?)/(?P<trailer_name>.+) ' 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-29 19:17:27 +05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    _TEST  =  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        u ' url ' :  u ' http://www.traileraddict.com/trailer/prince-avalanche/trailer ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        u ' file ' :  u ' 76184.mp4 ' , 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-24 10:50:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        u ' md5 ' :  u ' 57e39dbcf4142ceb8e1f242ff423fd71 ' , 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-29 19:17:27 +05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        u ' info_dict ' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            u " title " :  u " Prince Avalanche Trailer " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            u " description " :  u " Trailer for Prince Avalanche.Two highway road workers spend the summer of 1988 away from their city lives. The isolated landscape becomes a place of misadventure as the men find themselves at odds with each other and the women they left behind. " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  _real_extract ( self ,  url ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        mobj  =  re . match ( self . _VALID_URL ,  url ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-24 10:43:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        name  =  mobj . group ( ' movie ' )  +  ' / '  +  mobj . group ( ' trailer_name ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        webpage  =  self . _download_webpage ( url ,  name ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-24 02:33:48 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-06-29 19:17:27 +05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        title  =  self . _search_regex ( r ' <title>(.+?)</title> ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                webpage ,  ' video title ' ) . replace ( '  - Trailer Addict ' , ' ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        view_count  =  self . _search_regex ( r ' Views: (.+?)<br /> ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                webpage ,  ' Views Count ' ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-12 19:00:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        video_id  =  self . _og_search_property ( ' video ' ,  webpage ,  ' Video id ' ) . split ( ' = ' ) [ 1 ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-07-24 02:33:48 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # Presence of (no)watchplus function indicates HD quality is available 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  re . search ( r ' function (no)?watchplus() ' ,  webpage ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            fvar  =  " fvarhd " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            fvar  =  " fvar " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        info_url  =  " http://www.traileraddict.com/ %s .php?tid= %s "  %  ( fvar ,  str ( video_id ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-29 19:17:27 +05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        info_webpage  =  self . _download_webpage ( info_url ,  video_id  ,  " Downloading the info webpage " ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-24 02:33:48 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-06-29 19:17:27 +05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        final_url  =  self . _search_regex ( r ' &fileurl=(.+) ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                info_webpage ,  ' Download url ' ) . replace ( ' %3F ' , ' ? ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        thumbnail_url  =  self . _search_regex ( r ' &image=(.+?)& ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                info_webpage ,  ' thumbnail url ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ext  =  final_url . split ( ' . ' ) [ - 1 ] . split ( ' ? ' ) [ 0 ] 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-24 02:33:48 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-06-29 19:17:27 +05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        return  [ { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' id '           :  video_id , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' url '          :  final_url , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' ext '          :  ext , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' title '        :  title , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' thumbnail '    :  thumbnail_url , 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-12 19:00:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            ' description '  :  self . _og_search_description ( webpage ) , 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-29 19:17:27 +05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								            ' view_count '   :  view_count , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ]