[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:
|
if sys.version_info[0] < 3:
|
||||||
full_filename = full_filename.encode(glocale.getfilesystemencoding())
|
full_filename = full_filename.encode(glocale.getfilesystemencoding())
|
||||||
local_gettext = glocale.get_addon_translator(full_filename).gettext
|
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:
|
try:
|
||||||
#execfile(full_filename,
|
#execfile(full_filename,
|
||||||
exec(compile(open(full_filename).read(), full_filename, 'exec'),
|
exec(compile(stream, full_filename, 'exec'),
|
||||||
make_environment(_=local_gettext),
|
make_environment(_=local_gettext),
|
||||||
{})
|
{})
|
||||||
except ValueError as msg:
|
except ValueError as msg:
|
||||||
|
@ -335,7 +335,10 @@ class ConfigManager(object):
|
|||||||
except OSError as exp:
|
except OSError as exp:
|
||||||
if exp.errno != errno.EEXIST:
|
if exp.errno != errno.EEXIST:
|
||||||
raise
|
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(";; Gramps key file\n")
|
||||||
key_file.write((";; Automatically created at %s" %
|
key_file.write((";; Automatically created at %s" %
|
||||||
time.strftime("%Y/%m/%d %H:%M:%S")) + "\n\n")
|
time.strftime("%Y/%m/%d %H:%M:%S")) + "\n\n")
|
||||||
|
Loading…
Reference in New Issue
Block a user