[Bug 6364] Fix file-opening failures due to unicode content.
svn: r21147
This commit is contained in:
parent
a58ef2b73f
commit
cc4ec85b4d
@ -1093,9 +1093,21 @@ class PluginRegister(object):
|
||||
if sys.version_info[0] < 3:
|
||||
full_filename = full_filename.encode(glocale.getfilesystemencoding())
|
||||
local_gettext = glocale.get_addon_translator(full_filename).gettext
|
||||
try:
|
||||
stream = open(full_filename).read()
|
||||
except UnicodeError as err:
|
||||
if sys.version_info[0] < 3:
|
||||
print(_("ERROR: Failed to read file %s, %s") % (full_filename, str(err)))
|
||||
continue
|
||||
else:
|
||||
try:
|
||||
stream = open(full_filename, encoding = 'utf-8').read()
|
||||
except ValueError as err:
|
||||
print(_("ERROR: Failed to read file %s, %s") % (full_filename, str(err)))
|
||||
continue
|
||||
try:
|
||||
#execfile(full_filename,
|
||||
exec(compile(open(full_filename).read(), full_filename, 'exec'),
|
||||
exec(compile(stream, full_filename, 'exec'),
|
||||
make_environment(_=local_gettext),
|
||||
{})
|
||||
except ValueError as msg:
|
||||
|
@ -335,7 +335,10 @@ class ConfigManager(object):
|
||||
except OSError as exp:
|
||||
if exp.errno != errno.EEXIST:
|
||||
raise
|
||||
key_file = open(filename, "w")
|
||||
if sys.version_info[0] < 3:
|
||||
key_file = open(filename, "w")
|
||||
else:
|
||||
key_file = open(filename, "w", encoding="utf-8")
|
||||
key_file.write(";; Gramps key file\n")
|
||||
key_file.write((";; Automatically created at %s" %
|
||||
time.strftime("%Y/%m/%d %H:%M:%S")) + "\n\n")
|
||||
|
Loading…
Reference in New Issue
Block a user