| 
					
				 | 
			
			
				@@ -4160,9 +4160,9 @@ class SpiegelIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return [info] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-class liveleakIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class LiveLeakIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    _VALID_URL = r'^(?:http?://)?(?:\w+\.)?liveleak\.com/view\?(?:.*?)i=(?P<video_id>\d+)(?:.*)' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _VALID_URL = r'^(?:http?://)?(?:\w+\.)?liveleak\.com/view\?(?:.*?)i=(?P<video_id>[\w_]+)(?:.*)' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     IE_NAME = u'liveleak' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def _real_extract(self, url): 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4171,17 +4171,20 @@ class liveleakIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self._downloader.trouble(u'ERROR: invalid URL: %s' % url) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        video_id = mobj.group(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if video_id.endswith('/index.html'): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            video_id = video_id[:-len('/index.html')] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        video_id = mobj.group('video_id') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         webpage = self._download_webpage(url, video_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        video_url = u'http://edge.liveleak.com/80281E/u/u/ll2_player_files/mp55/player.swf?config=http://www.liveleak.com/player?a=config%26item_token=' + video_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        m = re.search(r'file: "(.*?)",', webpage) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if not m: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self._downloader.report_error(u'unable to find video url') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        video_url = m.group(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         m = re.search(r'<meta property="og:title" content="(?P<title>.*?)"', webpage) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if not m: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self._downloader.trouble(u'Cannot find video title') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        title = unescapeHTML(m.group('title')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        title = unescapeHTML(m.group('title')).replace('LiveLeak.com -', '').strip() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         m = re.search(r'<meta property="og:description" content="(?P<desc>.*?)"', webpage) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if m: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4189,13 +4192,19 @@ class liveleakIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             desc = None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        m = re.search(r'By:.*?(\w+)</a>', webpage) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if m: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            uploader = clean_html(m.group(1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            uploader = None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         info = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'id':  video_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'url': video_url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'ext': 'mp4', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'title': title, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'description': desc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'description': desc, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'uploader': uploader 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return [info] 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4250,6 +4259,6 @@ def gen_extractors(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TEDIE(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MySpassIE(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         SpiegelIE(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        liveleakIE(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        LiveLeakIE(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         GenericIE() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ] 
			 |