aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2013-10-29 06:48:18 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2013-10-29 06:48:18 +0100
commitf7ff55aa7876ba8a58bbee002d254aa6ab49302b (patch)
tree81e15b5aa67c1bd3f16eda455958889cc65ceca9
parent795f28f871074aca2a74dfe67e1e75252b525c4c (diff)
parentf6cc16f5d821a50df173b865164e4fa9cbe854af (diff)
Merge remote-tracking branch 'origin/master'
-rw-r--r--test/test_download.py3
-rw-r--r--youtube_dl/extractor/mtv.py2
2 files changed, 4 insertions, 1 deletions
diff --git a/test/test_download.py b/test/test_download.py
index 565afa1b5..dfb04d010 100644
--- a/test/test_download.py
+++ b/test/test_download.py
@@ -26,6 +26,7 @@ import youtube_dl.YoutubeDL
from youtube_dl.utils import (
compat_str,
compat_urllib_error,
+ compat_HTTPError,
DownloadError,
ExtractorError,
UnavailableVideoError,
@@ -105,7 +106,7 @@ def generator(test_case):
ydl.download([test_case['url']])
except (DownloadError, ExtractorError) as err:
# Check if the exception is not a network related one
- if not err.exc_info[0] in (compat_urllib_error.URLError, socket.timeout, UnavailableVideoError):
+ if not err.exc_info[0] in (compat_urllib_error.URLError, socket.timeout, UnavailableVideoError) or (err.exc_info[0] == compat_HTTPError and err.exc_info[1].code == 503):
raise
if try_num == RETRIES:
diff --git a/youtube_dl/extractor/mtv.py b/youtube_dl/extractor/mtv.py
index e520e2bb4..e96d3952c 100644
--- a/youtube_dl/extractor/mtv.py
+++ b/youtube_dl/extractor/mtv.py
@@ -80,6 +80,8 @@ class MTVIE(InfoExtractor):
video_id = self._id_from_uri(uri)
self.report_extraction(video_id)
mediagen_url = itemdoc.find('%s/%s' % (_media_xml_tag('group'), _media_xml_tag('content'))).attrib['url']
+ # Remove the templates, like &device={device}
+ mediagen_url = re.sub(r'&[^=]*?={.*?}(?=(&|$))', u'', mediagen_url)
if 'acceptMethods' not in mediagen_url:
mediagen_url += '&acceptMethods=fms'
mediagen_page = self._download_webpage(mediagen_url, video_id,