From d35b27b19dd120d3e6a3a2c2ed9a6fba99fd402e Mon Sep 17 00:00:00 2001 From: felix Date: Sat, 29 Aug 2015 07:55:20 +0200 Subject: [PATCH 1/3] [generic] Look for ScreenwaveMedia embeds --- youtube_dl/extractor/generic.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py index 376feecae..5d41b6319 100644 --- a/youtube_dl/extractor/generic.py +++ b/youtube_dl/extractor/generic.py @@ -1718,6 +1718,15 @@ class GenericIE(InfoExtractor): if snagfilms_url: return self.url_result(snagfilms_url) + # Look for ScreenwaveMedia embeds + mobj = re.search( + r']+src=[\'"](http://player\d?\.screenwavemedia\.com/player\.php\?id=[A-Za-z0-9-]+)[\'"]', + webpage) + if mobj is not None: + return self.url_result( + unescapeHTML(mobj.group(1)), + 'ScreenwaveMedia') + # Look for AdobeTVVideo embeds mobj = re.search( r']+src=[\'"]((?:https?:)?//video\.tv\.adobe\.com/v/\d+[^"]+)[\'"]', From f0e5e6ab965e037f6b09a6ffd0c48d5ed8eb4e4b Mon Sep 17 00:00:00 2001 From: felix Date: Sat, 29 Aug 2015 08:00:25 +0200 Subject: [PATCH 2/3] [screenwavemedia] use the true JS value instead of a comment --- youtube_dl/extractor/screenwavemedia.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/youtube_dl/extractor/screenwavemedia.py b/youtube_dl/extractor/screenwavemedia.py index 220d39078..e1604b5c0 100644 --- a/youtube_dl/extractor/screenwavemedia.py +++ b/youtube_dl/extractor/screenwavemedia.py @@ -33,7 +33,7 @@ class ScreenwaveMediaIE(InfoExtractor): 'http://player.screenwavemedia.com/player.js', video_id, 'Downloading playerconfig webpage') - videoserver = self._search_regex(r"\[ipaddress\]\s*=>\s*([\d\.]+)", playerdata, 'videoserver') + videoserver = self._search_regex(r'SWMServer\s*=\s*"([\d\.]+)"', playerdata, 'videoserver') sources = self._parse_json( js_to_json( From 19c3710bbbba86781401200b1cce9007a0679e6d Mon Sep 17 00:00:00 2001 From: felix Date: Sat, 29 Aug 2015 08:01:10 +0200 Subject: [PATCH 3/3] [screenwavemedia] warn when falling back to a hardcoded list of streams --- youtube_dl/extractor/screenwavemedia.py | 1 + 1 file changed, 1 insertion(+) diff --git a/youtube_dl/extractor/screenwavemedia.py b/youtube_dl/extractor/screenwavemedia.py index e1604b5c0..671ea57d0 100644 --- a/youtube_dl/extractor/screenwavemedia.py +++ b/youtube_dl/extractor/screenwavemedia.py @@ -56,6 +56,7 @@ class ScreenwaveMediaIE(InfoExtractor): # Fallback to hardcoded sources if JS changes again if not sources: + self.report_warning('Falling back to a hardcoded list of streams') sources = [{ 'file': 'http://%s/vod/%s_%s.mp4' % (videoserver, video_id, format_id), 'type': 'mp4',