-# coding: utf-8
-from __future__ import unicode_literals
-
import json
-import re
from .common import InfoExtractor
from ..utils import (
]
def _real_extract(self, url):
- base_url, display_id = re.search(self._VALID_URL, url).groups()
+ base_url, display_id = self._match_valid_url(url).groups()
page = self._download_webpage(url, display_id)
xml_url = self._search_regex(
r"return BRavFramework\.register\(BRavFramework\('avPlayer_(?:[a-f0-9-]{36})'\)\.setup\({dataURL:'(/(?:[a-z0-9\-]+/)+[a-z0-9/~_.-]+)'}\)\);", page, 'XMLURL')
medias.append(media)
if len(medias) > 1:
- self._downloader.report_warning(
+ self.report_warning(
'found multiple medias; please '
'report this with the video URL to http://yt-dl.org/bug')
if not medias:
class BRMediathekIE(InfoExtractor):
IE_DESC = 'Bayerischer Rundfunk Mediathek'
- _VALID_URL = r'https?://(?:www\.)?br\.de/mediathek/video/[^/?&#]*?-(?P<id>av:[0-9a-f]{24})'
+ _VALID_URL = r'https?://(?:www\.)?br\.de/mediathek//?video/(?:[^/?&#]+?-)?(?P<id>av:[0-9a-f]{24})'
_TESTS = [{
'url': 'https://www.br.de/mediathek/video/gesundheit-die-sendung-vom-28112017-av:5a1e6a6e8fce6d001871cc8e',
'timestamp': 1511942766,
'upload_date': '20171129',
}
+ }, {
+ 'url': 'https://www.br.de/mediathek//video/av:61b0db581aed360007558c12',
+ 'only_matching': True,
}]
def _real_extract(self, url):