| 
					
				 | 
			
			
				@@ -8,41 +8,11 @@ from ..utils import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ExtractorError, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int_or_none, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     qualities, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    parse_duration, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-class NDRIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    IE_NAME = 'ndr' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    IE_DESC = 'NDR.de - Mediathek' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    _VALID_URL = r'https?://www\.ndr\.de/.+?(?P<id>\d+)\.html' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    _TESTS = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'url': 'http://www.ndr.de/fernsehen/sendungen/nordmagazin/Kartoffeltage-in-der-Lewitz,nordmagazin25866.html', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'md5': '5bc5f5b92c82c0f8b26cddca34f8bb2c', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'note': 'Video file', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'info_dict': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                'id': '25866', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                'ext': 'mp4', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                'title': 'Kartoffeltage in der Lewitz', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                'description': 'md5:48c4c04dde604c8a9971b3d4e3b9eaa8', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                'duration': 166, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'url': 'http://www.ndr.de/info/audio51535.html', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'md5': 'bb3cd38e24fbcc866d13b50ca59307b8', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'note': 'Audio file', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'info_dict': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                'id': '51535', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                'ext': 'mp3', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                'title': 'La Valette entgeht der Hinrichtung', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                'description': 'md5:22f9541913a40fe50091d5cdd7c9f536', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                'duration': 884, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class NDRBaseIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def _real_extract(self, url): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mobj = re.match(self._VALID_URL, url) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         video_id = mobj.group('id') 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -54,7 +24,11 @@ class NDRIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if description: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             description = description.strip() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        duration = int_or_none(self._html_search_regex(r'duration: (\d+),\n', page, 'duration', fatal=False)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        duration = int_or_none(self._html_search_regex(r'duration: (\d+),\n', page, 'duration', default=None)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if not duration: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            duration = parse_duration(self._html_search_regex( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                r'(<span class="min">\d+</span>:<span class="sec">\d+</span>)', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                page, 'duration', default=None)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         formats = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -92,3 +66,53 @@ class NDRIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'duration': duration, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'formats': formats, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class NDRIE(NDRBaseIE): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    IE_NAME = 'ndr' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    IE_DESC = 'NDR.de - Mediathek' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _VALID_URL = r'https?://www\.ndr\.de/.+?(?P<id>\d+)\.html' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _TESTS = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'url': 'http://www.ndr.de/fernsehen/sendungen/nordmagazin/Kartoffeltage-in-der-Lewitz,nordmagazin25866.html', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'md5': '5bc5f5b92c82c0f8b26cddca34f8bb2c', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'note': 'Video file', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'info_dict': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'id': '25866', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'ext': 'mp4', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'title': 'Kartoffeltage in der Lewitz', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'description': 'md5:48c4c04dde604c8a9971b3d4e3b9eaa8', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'duration': 166, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'url': 'http://www.ndr.de/info/audio51535.html', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'md5': 'bb3cd38e24fbcc866d13b50ca59307b8', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'note': 'Audio file', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'info_dict': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'id': '51535', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'ext': 'mp3', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'title': 'La Valette entgeht der Hinrichtung', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'description': 'md5:22f9541913a40fe50091d5cdd7c9f536', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'duration': 884, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class NJoyIE(NDRBaseIE): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    IE_NAME = 'N-JOY' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _VALID_URL = r'https?://www\.n-joy\.de/.+?(?P<id>\d+)\.html' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _TEST = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'url': 'http://www.n-joy.de/entertainment/comedy/comedy_contest/Benaissa-beim-NDR-Comedy-Contest,comedycontest2480.html', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'md5': 'cb63be60cd6f9dd75218803146d8dc67', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'info_dict': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'id': '2480', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'ext': 'mp4', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'title': 'Benaissa beim NDR Comedy Contest', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'description': 'Von seinem sehr "behaarten" Leben lässt sich Benaissa trotz aller Schwierigkeiten nicht unterkriegen.', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'duration': 654, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 |