diff options
| -rw-r--r-- | youtube_dl/extractor/byutv.py | 39 | ||||
| -rw-r--r-- | youtube_dl/extractor/extractors.py | 5 | 
2 files changed, 42 insertions, 2 deletions
| diff --git a/youtube_dl/extractor/byutv.py b/youtube_dl/extractor/byutv.py index 084cc7ae2..4be175d70 100644 --- a/youtube_dl/extractor/byutv.py +++ b/youtube_dl/extractor/byutv.py @@ -7,7 +7,7 @@ from ..utils import ExtractorError  class BYUtvIE(InfoExtractor): -    _VALID_URL = r'https?://(?:www\.)?byutv.org/watch/(?P<id>[0-9a-f-]+)(?:/(?P<display_id>[^/?#&]+))?' +    _VALID_URL = r'https?://(?:www\.)?byutv\.org/watch/(?!event/)(?P<id>[0-9a-f-]+)(?:/(?P<display_id>[^/?#&]+))?'      _TESTS = [{          'url': 'http://www.byutv.org/watch/6587b9a3-89d2-42a6-a7f7-fd2f81840a7d/studio-c-season-5-episode-5',          'info_dict': { @@ -54,3 +54,40 @@ class BYUtvIE(InfoExtractor):              'description': ep.get('description'),              'thumbnail': ep.get('imageThumbnail'),          } + + +class BYUtvEventIE(InfoExtractor): +    _VALID_URL = r'https?://(?:www\.)?byutv\.org/watch/event/(?P<id>[0-9a-f-]+)' +    _TEST = { +        'url': 'http://www.byutv.org/watch/event/29941b9b-8bf6-48d2-aebf-7a87add9e34b', +        'info_dict': { +            'id': '29941b9b-8bf6-48d2-aebf-7a87add9e34b', +            'ext': 'mp4', +            'title': 'Toledo vs. BYU (9/30/16)', +        }, +        'params': { +            'skip_download': True, +        }, +        'add_ie': ['Ooyala'], +    } + +    def _real_extract(self, url): +        video_id = self._match_id(url) + +        webpage = self._download_webpage(url, video_id) + +        ooyala_id = self._search_regex( +            r'providerId\s*:\s*(["\'])(?P<id>(?:(?!\1).)+)\1', +            webpage, 'ooyala id', group='id') + +        title = self._search_regex( +            r'class=["\']description["\'][^>]*>\s*<h1>([^<]+)</h1>', webpage, +            'title').strip() + +        return { +            '_type': 'url_transparent', +            'ie_key': 'Ooyala', +            'url': 'ooyala:%s' % ooyala_id, +            'id': video_id, +            'title': title, +        } diff --git a/youtube_dl/extractor/extractors.py b/youtube_dl/extractor/extractors.py index 09b3b4942..e8928307c 100644 --- a/youtube_dl/extractor/extractors.py +++ b/youtube_dl/extractor/extractors.py @@ -116,7 +116,10 @@ from .brightcove import (      BrightcoveNewIE,  )  from .buzzfeed import BuzzFeedIE -from .byutv import BYUtvIE +from .byutv import ( +    BYUtvIE, +    BYUtvEventIE, +)  from .c56 import C56IE  from .camdemy import (      CamdemyIE, | 
