0005606: GEDCOM import: NOTE_RECORD is not handled properly
svn: r18994
This commit is contained in:
parent
d4e0017365
commit
0427db85d6
@ -1690,6 +1690,9 @@ class IdMapper(object):
|
||||
temp = self.id2user_format(temp)
|
||||
return temp
|
||||
|
||||
def map(self):
|
||||
return self.swap
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# GedcomParser
|
||||
@ -6539,9 +6542,7 @@ class GedcomParser(UpdateCallback):
|
||||
#NOTE_STRUCTURE: =
|
||||
# n NOTE @<XREF:NOTE>@ {1:1}
|
||||
# +1 SOUR @<XREF:SOUR>@ {0:M}
|
||||
gid = line.data.strip()
|
||||
gramps_id = self.nid_map[gid]
|
||||
obj.add_note(self.__find_note_handle(gramps_id))
|
||||
obj.add_note(self.__find_note_handle(self.nid_map[line.data]))
|
||||
else:
|
||||
# Embedded note
|
||||
#NOTE_STRUCTURE: =
|
||||
@ -6584,12 +6585,13 @@ class GedcomParser(UpdateCallback):
|
||||
+1 <<CHANGE_DATE>> {0:1}
|
||||
"""
|
||||
state = CurrentState(level=1)
|
||||
gid = self.nid_map[line.token_text]
|
||||
handle = self.nid2id.get(gid)
|
||||
if not line.data and handle is None:
|
||||
self.__add_msg(_("Empty note ignored"), line, state)
|
||||
if not line.data and \
|
||||
self.nid_map.clean(line.token_text) not in self.nid_map.map():
|
||||
self.__add_msg(_("Empty note ignored"), line)
|
||||
self.__skip_subordinate_levels(level, state)
|
||||
else:
|
||||
gid = self.nid_map[line.token_text]
|
||||
handle = self.__find_note_handle(gid)
|
||||
new_note = gen.lib.Note(line.data)
|
||||
new_note.set_handle(handle)
|
||||
new_note.set_gramps_id(gid)
|
||||
@ -6600,7 +6602,6 @@ class GedcomParser(UpdateCallback):
|
||||
state.msg += sub_state.msg
|
||||
|
||||
self.dbase.commit_note(new_note, self.trans, new_note.change)
|
||||
self.nid2id[new_note.gramps_id] = new_note.handle
|
||||
self.__check_msgs(_("NOTE Gramps ID %s") % new_note.get_gramps_id(),
|
||||
state, None)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user