[ndr] Extended to support n-joy.de as well (closes #4527)
According to http://en.wikipedia.org/wiki/N-Joy, n-joy.de is a service hosted by NDR, so I put them together.
This commit is contained in:
		@@ -324,7 +324,10 @@ from .nbc import (
 | 
				
			|||||||
    NBCSportsIE,
 | 
					    NBCSportsIE,
 | 
				
			||||||
    NBCSportsVPlayerIE,
 | 
					    NBCSportsVPlayerIE,
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
from .ndr import NDRIE
 | 
					from .ndr import (
 | 
				
			||||||
 | 
					    NDRIE,
 | 
				
			||||||
 | 
					    NJoyIE,
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
from .ndtv import NDTVIE
 | 
					from .ndtv import NDTVIE
 | 
				
			||||||
from .netzkino import NetzkinoIE
 | 
					from .netzkino import NetzkinoIE
 | 
				
			||||||
from .nerdcubed import NerdCubedFeedIE
 | 
					from .nerdcubed import NerdCubedFeedIE
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,41 +8,11 @@ from ..utils import (
 | 
				
			|||||||
    ExtractorError,
 | 
					    ExtractorError,
 | 
				
			||||||
    int_or_none,
 | 
					    int_or_none,
 | 
				
			||||||
    qualities,
 | 
					    qualities,
 | 
				
			||||||
 | 
					    parse_duration,
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class NDRIE(InfoExtractor):
 | 
					class NDRBaseIE(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,
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    ]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def _real_extract(self, url):
 | 
					    def _real_extract(self, url):
 | 
				
			||||||
        mobj = re.match(self._VALID_URL, url)
 | 
					        mobj = re.match(self._VALID_URL, url)
 | 
				
			||||||
        video_id = mobj.group('id')
 | 
					        video_id = mobj.group('id')
 | 
				
			||||||
@@ -54,7 +24,11 @@ class NDRIE(InfoExtractor):
 | 
				
			|||||||
        if description:
 | 
					        if description:
 | 
				
			||||||
            description = description.strip()
 | 
					            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 = []
 | 
					        formats = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -92,3 +66,53 @@ class NDRIE(InfoExtractor):
 | 
				
			|||||||
            'duration': duration,
 | 
					            'duration': duration,
 | 
				
			||||||
            'formats': formats,
 | 
					            '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,
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user