diff options
| author | Sergey M․ <dstftw@gmail.com> | 2018-06-10 00:26:16 +0700 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2018-06-10 00:26:16 +0700 | 
| commit | 9d581efe053a22042ea7530a8e92097d0a91eea4 (patch) | |
| tree | 43dc3560f4c3632b8202b49b6edc4e99b6aa8ea2 | |
| parent | ff2e4862210d69f2cee509002a9d96ba3a0877d6 (diff) | |
[npo] Extend _VALID_URL (closes #16682)
| -rw-r--r-- | youtube_dl/extractor/npo.py | 22 | 
1 files changed, 19 insertions, 3 deletions
diff --git a/youtube_dl/extractor/npo.py b/youtube_dl/extractor/npo.py index ff2153387..cb8319f0d 100644 --- a/youtube_dl/extractor/npo.py +++ b/youtube_dl/extractor/npo.py @@ -36,8 +36,8 @@ class NPOIE(NPOBaseIE):                          https?://                              (?:www\.)?                              (?: -                                npo\.nl/(?!(?:live|radio)/)(?:[^/]+/){2}| -                                ntr\.nl/(?:[^/]+/){2,}| +                                npo\.nl/(?:[^/]+/)*| +                                (?:ntr|npostart)\.nl/(?:[^/]+/){2,}|                                  omroepwnl\.nl/video/fragment/[^/]+__|                                  (?:zapp|npo3)\.nl/(?:[^/]+/){2,}                              ) @@ -160,8 +160,20 @@ class NPOIE(NPOBaseIE):      }, {          'url': 'https://www.zapp.nl/1803-skelterlab/instructie-video-s/740-instructievideo-s/POMS_AT_11736927',          'only_matching': True, +    }, { +        'url': 'https://www.npostart.nl/broodje-gezond-ei/28-05-2018/KN_1698996', +        'only_matching': True, +    }, { +        'url': 'https://npo.nl/KN_1698996', +        'only_matching': True,      }] +    @classmethod +    def suitable(cls, url): +        return (False if any(ie.suitable(url) +                for ie in (NPOLiveIE, NPORadioIE, NPORadioFragmentIE)) +                else super(NPOIE, cls).suitable(url)) +      def _real_extract(self, url):          video_id = self._match_id(url)          return self._get_info(video_id) @@ -389,7 +401,7 @@ class NPOLiveIE(NPOBaseIE):  class NPORadioIE(InfoExtractor):      IE_NAME = 'npo.nl:radio' -    _VALID_URL = r'https?://(?:www\.)?npo\.nl/radio/(?P<id>[^/]+)/?$' +    _VALID_URL = r'https?://(?:www\.)?npo\.nl/radio/(?P<id>[^/]+)'      _TEST = {          'url': 'http://www.npo.nl/radio/radio-1', @@ -404,6 +416,10 @@ class NPORadioIE(InfoExtractor):          }      } +    @classmethod +    def suitable(cls, url): +        return False if NPORadioFragmentIE.suitable(url) else super(NPORadioIE, cls).suitable(url) +      @staticmethod      def _html_get_attribute_regex(attribute):          return r'{0}\s*=\s*\'([^\']+)\''.format(attribute)  | 
