|
|
@@ -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.
|