projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #736 from rg3/retry
[youtube-dl]
/
youtube_dl
/
utils.py
diff --git
a/youtube_dl/utils.py
b/youtube_dl/utils.py
index e6ce028d620e0c68952ffe18813cfb1a885beef7..017f06c42e9a019e18e25480c5e5d8d3aaaef335 100644
(file)
--- a/
youtube_dl/utils.py
+++ b/
youtube_dl/utils.py
@@
-311,7
+311,7
@@
def clean_html(html):
html = re.sub('<.*?>', '', html)
# Replace html entities
html = unescapeHTML(html)
html = re.sub('<.*?>', '', html)
# Replace html entities
html = unescapeHTML(html)
- return html
+ return html
.strip()
def sanitize_open(filename, open_mode):
def sanitize_open(filename, open_mode):
@@
-329,7
+329,7
@@
def sanitize_open(filename, open_mode):
if sys.platform == 'win32':
import msvcrt
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
if sys.platform == 'win32':
import msvcrt
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
- return (sys.stdout, filename)
+ return (sys.stdout
.buffer if hasattr(sys.stdout, 'buffer') else sys.stdout
, filename)
stream = open(encodeFilename(filename), open_mode)
return (stream, filename)
except (IOError, OSError) as err:
stream = open(encodeFilename(filename), open_mode)
return (stream, filename)
except (IOError, OSError) as err:
@@
-420,6
+420,14
@@
def encodeFilename(s):
encoding = 'utf-8'
return s.encode(encoding, 'ignore')
encoding = 'utf-8'
return s.encode(encoding, 'ignore')
+def decodeOption(optval):
+ if optval is None:
+ return optval
+ if isinstance(optval, bytes):
+ optval = optval.decode(preferredencoding())
+
+ assert isinstance(optval, compat_str)
+ return optval
class ExtractorError(Exception):
"""Error during info extraction."""
class ExtractorError(Exception):
"""Error during info extraction."""
@@
-427,6
+435,7
@@
class ExtractorError(Exception):
""" tb, if given, is the original traceback (so that it can be printed out). """
super(ExtractorError, self).__init__(msg)
self.traceback = tb
""" tb, if given, is the original traceback (so that it can be printed out). """
super(ExtractorError, self).__init__(msg)
self.traceback = tb
+ self.exc_info = sys.exc_info() # preserve original exception
def format_traceback(self):
if self.traceback is None:
def format_traceback(self):
if self.traceback is None:
@@
-441,7
+450,10
@@
class DownloadError(Exception):
configured to continue on errors. They will contain the appropriate
error message.
"""
configured to continue on errors. They will contain the appropriate
error message.
"""
- pass
+ def __init__(self, msg, exc_info=None):
+ """ exc_info, if given, is the original exception that caused the trouble (as returned by sys.exc_info()). """
+ super(DownloadError, self).__init__(msg)
+ self.exc_info = exc_info
class SameFileError(Exception):
class SameFileError(Exception):