Properly convert errors to strings
[youtube-dl] / youtube_dl / YoutubeDL.py
index c642a1fbfff6c910fb8ae3f9789209935d0559a2..26b3adb025432bfc39f1ba35a0723006e04d0d02 100755 (executable)
@@ -48,6 +48,7 @@ from .utils import (
     determine_ext,
     DownloadError,
     encodeFilename,
+    error_to_str,
     ExtractorError,
     format_bytes,
     formatSeconds,
@@ -681,7 +682,7 @@ class YoutubeDL(object):
                 raise
             except Exception as e:
                 if self.params.get('ignoreerrors', False):
-                    self.report_error(compat_str(e), tb=compat_str(traceback.format_exc()))
+                    self.report_error(error_to_str(e), tb=compat_str(traceback.format_exc()))
                     break
                 else:
                     raise
@@ -1459,7 +1460,7 @@ class YoutubeDL(object):
             if dn and not os.path.exists(dn):
                 os.makedirs(dn)
         except (OSError, IOError) as err:
-            self.report_error('unable to create directory ' + compat_str(err))
+            self.report_error('unable to create directory ' + error_to_str(err))
             return
 
         if self.params.get('writedescription', False):
@@ -2039,4 +2040,4 @@ class YoutubeDL(object):
                                    (info_dict['extractor'], info_dict['id'], thumb_display_id, thumb_filename))
                 except (compat_urllib_error.URLError, compat_http_client.HTTPException, socket.error) as err:
                     self.report_warning('Unable to download thumbnail "%s": %s' %
-                                        (t['url'], compat_str(err)))
+                                        (t['url'], error_to_str(err)))