From 27b48468699ac3fc5ab3d2249702fcff2306e98d Mon Sep 17 00:00:00 2001 From: Don Allingham Date: Mon, 26 Feb 2007 16:42:42 +0000 Subject: [PATCH] 2007-02-26 Don Allingham * src/GrampsDbUtils/_GedcomParse.py: encode file name properly svn: r8245 --- ChangeLog | 3 +++ src/GrampsDbUtils/_GedcomParse.py | 13 +++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 31cea3405..6c57c556b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2007-02-26 Don Allingham + * src/GrampsDbUtils/_GedcomParse.py: encode file name properly + 2007-02-26 Zsolt Foldvari * src/MarkupText.py: avoid creating empty elements in xml generator diff --git a/src/GrampsDbUtils/_GedcomParse.py b/src/GrampsDbUtils/_GedcomParse.py index bca93ac58..65bcd8589 100644 --- a/src/GrampsDbUtils/_GedcomParse.py +++ b/src/GrampsDbUtils/_GedcomParse.py @@ -90,6 +90,7 @@ __author__ = "Don Allingham" # #------------------------------------------------------------------------- import os +import sys import re import time from gettext import gettext as _ @@ -329,9 +330,7 @@ class GedcomParser(UpdateCallback): self.def_src = RelLib.Source() fname = os.path.basename(filename).split('\\')[-1] self.def_src.set_title(_("Import from GEDCOM (%s)") % - unicode(fname, - encoding=sys.getfilesystemencoding(), - errors='replace')) + encode_filename(fname)) self.dir_path = os.path.dirname(filename) self.is_ftw = False self.is_ancestry_com = False @@ -1028,7 +1027,6 @@ class GedcomParser(UpdateCallback): msg = _("Line %d was not understood, so it was ignored.") % text self.warn(msg) self.error_count += 1 - import sys sys.exit(1) self.skip_subordinate_levels(level) @@ -4349,3 +4347,10 @@ def family_event_name(event, family): } event.set_description(text) + +def encode_filename(name): + enc = sys.getfilesystemencoding() + if enc == "UTF-8": + return name + else: + return unicode(name, encoding=enc, errors='replace')