| 
					
				 | 
			
			
				@@ -3,7 +3,10 @@ from __future__ import unicode_literals 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import itertools 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from .common import InfoExtractor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-from ..compat import compat_HTTPError 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from ..compat import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    compat_HTTPError, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    compat_str, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from ..utils import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ExtractorError, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int_or_none, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -161,13 +164,28 @@ class VidmeIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'or for violating the terms of use.', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 expected=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        formats = [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'format_id': f.get('type'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'url': f['uri'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'width': int_or_none(f.get('width')), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'height': int_or_none(f.get('height')), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'preference': 0 if f.get('type', '').endswith('clip') else 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } for f in video.get('formats', []) if f.get('uri')] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formats = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for f in video.get('formats', []): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            format_url = f.get('uri') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if not format_url or not isinstance(format_url, compat_str): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                continue 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            format_type = f.get('type') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if format_type == 'dash': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                formats.extend(self._extract_mpd_formats( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    format_url, video_id, mpd_id='dash', fatal=False)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            elif format_type == 'hls': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                formats.extend(self._extract_m3u8_formats( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    format_url, video_id, 'mp4', entry_protocol='m3u8_native', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    m3u8_id='hls', fatal=False)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                formats.append({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    'format_id': f.get('type'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    'url': format_url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    'width': int_or_none(f.get('width')), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    'height': int_or_none(f.get('height')), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    'preference': 0 if f.get('type', '').endswith( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        'clip') else 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if not formats and video.get('complete_url'): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             formats.append({ 
			 |