* src/Utils.py: handle missing/invalid encoding

* src/DisplayModels/_BaseModel.py: handle None vs. 0


svn: r7997
This commit is contained in:
Don Allingham
2007-01-27 23:08:08 +00:00
parent 89428da95e
commit b5aa6154b3
5 changed files with 20 additions and 9 deletions

View File

@ -110,9 +110,10 @@ def fix_encoding(value):
try:
return unicode(value)
except:
codeset = locale.getpreferredencoding()
if codeset == 'UTF-8':
codeset = 'latin1'
try:
codeset = locale.getpreferredencoding()
except:
codeset = "UTF-8"
return unicode(value,codeset)
else:
return value
@ -291,9 +292,16 @@ def find_file( filename):
pass
# Build list of alternate encodings
encodings = [sys.getfilesystemencoding(), locale.getpreferredencoding(),
'UTF-8', 'ISO-8859-1']
encodings = list(set(encodings))
encodings = set()
for enc in [sys.getfilesystemencoding, locale.getpreferredencoding]:
try:
encodings.add(enc)
except:
pass
encodings.add('UTF-8')
encodings.add('ISO-8859-1')
for enc in encodings:
try:
fname = filename.encode(enc)