From 98bcd2834a8652e12914e8b76b871a36be32f0ab Mon Sep 17 00:00:00 2001 From: Filippo Valsorda Date: Tue, 25 Jun 2013 16:43:29 +0200 Subject: [PATCH] improve generic and encrypted signature error messages --- youtube_dl/extractor/common.py | 2 +- youtube_dl/extractor/youtube.py | 7 ++++--- youtube_dl/utils.py | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index 062f4cf1e..64d63e109 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -211,7 +211,7 @@ def _search_regex(self, pattern, string, name, default=None, fatal=True, flags=0 raise ExtractorError(u'Unable to extract %s' % _name) else: self._downloader.report_warning(u'unable to extract %s; ' - u'please report this issue on GitHub.' % _name) + u'please report this issue on http://yt-dl.org/bug' % _name) return None def _html_search_regex(self, pattern, string, name, default=None, fatal=True, flags=0): diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 23ee24d70..de653cb3d 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -129,12 +129,13 @@ def report_rtmp_download(self): """Indicate the download will use the RTMP protocol.""" self.to_screen(u'RTMP download detected') - @staticmethod - def _decrypt_signature(s): + def _decrypt_signature(self, s): """Decrypt the key the two subkeys must have a length of 43""" (a,b) = s.split('.') if len(a) != 43 or len(b) != 43: - raise ExtractorError(u'Unable to decrypt signature, subkeys lengths not valid') + raise ExtractorError(u'Unable to decrypt signature, subkeys lengths %d.%d not supported; retrying might work' % (len(a), len(b))) + if self._downloader.params.get('verbose'): + self.to_screen('encrypted signature length %d.%d' % (len(a), len(b))) b = ''.join([b[:8],a[0],b[9:18],b[-4],b[19:39], b[18]])[0:40] a = a[-40:] s_dec = '.'.join((a,b))[::-1] diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 66ae41e31..4d415bd61 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -474,7 +474,7 @@ def __init__(self, msg, tb=None): """ tb, if given, is the original traceback (so that it can be printed out). """ if not sys.exc_info()[0] in (compat_urllib_error.URLError, socket.timeout, UnavailableVideoError): - msg = msg + u'; please report this issue on GitHub.' + msg = msg + u'; please report this issue on http://yt-dl.org/bug' super(ExtractorError, self).__init__(msg) self.traceback = tb