Improve preferred encoding detection method
authorRicardo Garcia <sarbalap+freshmeat@gmail.com>
Sat, 19 Sep 2009 22:08:50 +0000 (00:08 +0200)
committerRicardo Garcia <sarbalap+freshmeat@gmail.com>
Sun, 31 Oct 2010 10:24:56 +0000 (11:24 +0100)
youtube-dl

index b1f2717936c93cd0503bcf78deb0f6ccf54e47be..5efc55e6dd498f49b7b4638a243ae55255b870b9 100755 (executable)
@@ -33,15 +33,15 @@ def preferredencoding():
        Returns the best encoding scheme for the system, based on
        locale.getpreferredencoding() and some further tweaks.
        """
-       try:
-               pref = locale.getpreferredencoding()
-               # Mac OSX systems have this problem sometimes
-               if pref == '':
-                       return 'UTF-8'
-               return pref
-       except:
-               sys.stderr.write('WARNING: problem obtaining preferred encoding. Falling back to UTF-8.\n')
-               return 'UTF-8'
+       def yield_preferredencoding():
+               try:
+                       pref = locale.getpreferredencoding()
+                       u'TEST'.encode(pref)
+               except:
+                       pref = 'UTF-8'
+               while True:
+                       yield pref
+       return yield_preferredencoding().next()
 
 class DownloadError(Exception):
        """Download Error exception.