From 26ab37958432b753040f585f8c9bfd3c419c4e8f Mon Sep 17 00:00:00 2001 From: Josip Date: Fri, 4 Apr 2014 22:03:51 +0200 Subject: [PATCH] 7258: transcode os.path.join args from the fs enc to prevent a crash --- gramps/cli/clidbman.py | 2 +- gramps/gen/recentfiles.py | 4 ++-- setup.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gramps/cli/clidbman.py b/gramps/cli/clidbman.py index 466849ff6..054379973 100644 --- a/gramps/cli/clidbman.py +++ b/gramps/cli/clidbman.py @@ -515,7 +515,7 @@ def find_locker_name(dirpath): """ try: fname = os.path.join(dirpath, "lock") - ifile = io.open(fname, 'rb', encoding='utf8') + ifile = io.open(fname, 'r', encoding='utf8') username = ifile.read().strip() # feature request 2356: avoid genitive form last = _("Locked by %s") % username diff --git a/gramps/gen/recentfiles.py b/gramps/gen/recentfiles.py index 40ef4439a..afc2e880f 100644 --- a/gramps/gen/recentfiles.py +++ b/gramps/gen/recentfiles.py @@ -184,7 +184,7 @@ class RecentFiles(object): """ Saves the current Gramps RecentFiles collection to the associated file. """ - with open(os.path.expanduser(GRAMPS_FILENAME), 'w') as xml_file: + with io.open(os.path.expanduser(GRAMPS_FILENAME), 'w', encoding='utf8') as xml_file: if use_lock: fcntl.lockf(xml_file,fcntl.LOCK_EX) xml_file.write("\n") @@ -222,7 +222,7 @@ class RecentParser(object): try: # Python3's expat wants bytes, Python2's wants a string. fmode = "r" if sys.version_info[0] < 3 else "rb" - with open(fname, fmode) as xml_file: + with io.open(fname, fmode) as xml_file: if use_lock: fcntl.lockf(xml_file,fcntl.LOCK_SH) diff --git a/setup.py b/setup.py index fc3c3f029..1fb60265e 100644 --- a/setup.py +++ b/setup.py @@ -214,7 +214,7 @@ def merge(in_file, out_file, option, po_dir='po', cache=True): if (not os.path.exists(out_file) and os.path.exists(in_file)): if sys.platform == 'win32': - cmd = (('set LC_ALL=C && intltool-merge %(opt)s %(po_dir)s %(in_file)s ' + cmd = (('set LC_ALL=C && perl -S intltool-merge %(opt)s %(po_dir)s %(in_file)s ' '%(out_file)s') % {'opt' : option, 'po_dir' : po_dir,