diff --git a/src/plugins/import/ImportXml.py b/src/plugins/import/ImportXml.py index 8c9565532..6c903fb27 100644 --- a/src/plugins/import/ImportXml.py +++ b/src/plugins/import/ImportXml.py @@ -775,12 +775,12 @@ class GrampsParser(UpdateCallback): :rtype: str """ gramps_id = id2user_format(id_) - if gramps_id is None or not gramps_ids.get(gramps_id): + if gramps_id is None or not gramps_ids.get(id_): if gramps_id is None or self.db.has_gramps_id(key, gramps_id): - gramps_ids[gramps_id] = find_next_gramps_id() + gramps_ids[id_] = find_next_gramps_id() else: - gramps_ids[gramps_id] = gramps_id - return gramps_ids[gramps_id] + gramps_ids[id_] = gramps_id + return gramps_ids[id_] def parse(self, ifile, linecount=0, personcount=0): """ diff --git a/src/plugins/tool/ReorderIds.py b/src/plugins/tool/ReorderIds.py index 56551343a..5a779503b 100644 --- a/src/plugins/tool/ReorderIds.py +++ b/src/plugins/tool/ReorderIds.py @@ -199,7 +199,10 @@ class ReorderIds(tool.BatchTool): newgramps_id = prefix % int(index) if newgramps_id == gramps_id: - newids[newgramps_id] = gramps_id + if newgramps_id in newids: + dups.append(obj.get_handle()) + else: + newids[newgramps_id] = gramps_id elif find_from_id(newgramps_id) is not None: dups.append(obj.get_handle()) else: