From fcda5d1c07e5594f3bb80bf3f5f67eb557af95d1 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Mon, 17 Jan 2011 11:44:13 +0300 Subject: [PATCH] Convert only ANSI strings, leave unicode as-is --- service/fit.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/service/fit.py b/service/fit.py index 3c038b01b..50e3913b0 100644 --- a/service/fit.py +++ b/service/fit.py @@ -518,13 +518,16 @@ class Fit(object): defcodepage = locale.getpreferredencoding() file = open(path, "r") - original = file.read() - try: - encoded = unicode(original, defcodepage) - except UnicodeDecodeError: - encoded = unicode(original, "cp1252") + srcString = file.read() + # If file had ANSI encoding, convert it to unicode using system + # default codepage, or use fallback cp1252 on any encoding errors + if isinstance(srcString, str): + try: + srcString = unicode(srcString, defcodepage) + except UnicodeDecodeError: + srcString = unicode(srcString, "cp1252") - type, fits = eos.types.Fit.importAuto(encoded, filename) + type, fits = eos.types.Fit.importAuto(srcString, filename) return fits