aboutsummaryrefslogtreecommitdiffstats
path: root/hypervideo_dl/extractor/rcs.py
diff options
context:
space:
mode:
Diffstat (limited to 'hypervideo_dl/extractor/rcs.py')
-rw-r--r--hypervideo_dl/extractor/rcs.py49
1 files changed, 19 insertions, 30 deletions
diff --git a/hypervideo_dl/extractor/rcs.py b/hypervideo_dl/extractor/rcs.py
index ace611b..b905f8d 100644
--- a/hypervideo_dl/extractor/rcs.py
+++ b/hypervideo_dl/extractor/rcs.py
@@ -1,14 +1,11 @@
-# coding: utf-8
-from __future__ import unicode_literals
-
import re
from .common import InfoExtractor
from ..utils import (
- clean_html,
ExtractorError,
- js_to_json,
base_url,
+ clean_html,
+ js_to_json,
url_basename,
urljoin,
)
@@ -199,7 +196,6 @@ class RCSBaseIE(InfoExtractor):
'format_id': 'http-mp4',
'url': urls['mp4']
})
- self._sort_formats(formats)
return formats
def _real_extract(self, url):
@@ -284,6 +280,20 @@ class RCSEmbedsIE(RCSBaseIE):
(?:gazzanet\.)?gazzetta
)\.it)
/video-embed/(?P<id>[^/=&\?]+?)(?:$|\?)'''
+ _EMBED_REGEX = [r'''(?x)
+ (?:
+ data-frame-src=|
+ <iframe[^\n]+src=
+ )
+ (["'])
+ (?P<url>(?:https?:)?//video\.
+ (?:
+ rcs|
+ (?:corriere\w+\.)?corriere|
+ (?:gazzanet\.)?gazzetta
+ )
+ \.it/video-embed/.+?)
+ \1''']
_TESTS = [{
'url': 'https://video.rcs.it/video-embed/iodonna-0001585037',
'md5': '623ecc8ffe7299b2d0c1046d8331a9df',
@@ -324,30 +334,9 @@ class RCSEmbedsIE(RCSBaseIE):
urls[i] = urljoin(base_url(e), url_basename(e))
return urls
- @staticmethod
- def _extract_urls(webpage):
- entries = [
- mobj.group('url')
- for mobj in re.finditer(r'''(?x)
- (?:
- data-frame-src=|
- <iframe[^\n]+src=
- )
- (["'])
- (?P<url>(?:https?:)?//video\.
- (?:
- rcs|
- (?:corriere\w+\.)?corriere|
- (?:gazzanet\.)?gazzetta
- )
- \.it/video-embed/.+?)
- \1''', webpage)]
- return RCSEmbedsIE._sanitize_urls(entries)
-
- @staticmethod
- def _extract_url(webpage):
- urls = RCSEmbedsIE._extract_urls(webpage)
- return urls[0] if urls else None
+ @classmethod
+ def _extract_embed_urls(cls, url, webpage):
+ return cls._sanitize_urls(list(super()._extract_embed_urls(url, webpage)))
class RCSIE(RCSBaseIE):