summary refs log tree commit diff
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2013-09-21 11:48:07 +0200
committerPhilipp Hagemeister <phihag@phihag.de>2013-09-21 11:48:07 +0200
commit34308b30d6c2b05819e362deab94ce590c325e67 (patch)
tree0aea89ff9c483dcae1f81c3c080058e48ad6ae3b
parentbc1506f8c01fb7039bb6015b6d950e832facd82d (diff)
downloadyoutube-dl-34308b30d6c2b05819e362deab94ce590c325e67.tar.gz
youtube-dl-34308b30d6c2b05819e362deab94ce590c325e67.tar.xz
youtube-dl-34308b30d6c2b05819e362deab94ce590c325e67.zip
Warn if no locale is set (#1474)
-rw-r--r--youtube_dl/YoutubeDL.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py
index d999099fe..fa24ebe0d 100644
--- a/youtube_dl/YoutubeDL.py
+++ b/youtube_dl/YoutubeDL.py
@@ -104,6 +104,17 @@ class YoutubeDL(object):
         self._download_retcode = 0
         self._num_downloads = 0
         self._screen_file = [sys.stdout, sys.stderr][params.get('logtostderr', False)]
+
+        if (sys.version_info >= (3,) and sys.platform != 'win32' and
+                sys.getfilesystemencoding() in ['ascii', 'ANSI_X3.4-1968']
+                and not params['restrictfilenames']):
+            # On Python 3, the Unicode filesystem API will throw errors (#1474)
+            self.report_warning(
+                u'Assuming --restrict-filenames isnce file system encoding '
+                u'cannot encode all charactes. '
+                u'Set the LC_ALL environment variable to fix this.')
+            params['restrictfilenames'] = True
+
         self.params = params
         self.fd = FileDownloader(self, self.params)