diff --git a/gramps2/ChangeLog b/gramps2/ChangeLog index d4e7d9d81..42a82a75e 100644 --- a/gramps2/ChangeLog +++ b/gramps2/ChangeLog @@ -1,4 +1,5 @@ 2005-04-10 Don Allingham + * src/Check.py: repair family types of "None" in the database * src/Makefile.am: add MergePeople.py 2005-04-09 Don Allingham diff --git a/gramps2/src/plugins/Check.py b/gramps2/src/plugins/Check.py index 63996839e..4572649d8 100644 --- a/gramps2/src/plugins/Check.py +++ b/gramps2/src/plugins/Check.py @@ -157,6 +157,10 @@ class CheckIntegrity: person = self.db.get_person_from_handle(person_handle) for family_type in person.get_parent_family_handle_list(): family = self.db.get_family_from_handle(family_type[0]) + if not family: + person.remove_parent_family_handle(family_type[0]) + self.db.commit_person(person,self.trans) + continue for child_handle in family.get_child_handle_list(): if child_handle == person_handle: break @@ -413,8 +417,11 @@ class CheckIntegrity: cn = person.get_primary_name().get_name() else: cn = _("Non existing child") - family = self.db.get_family_from_handle(family_handle) - pn = Utils.family_name(family,self.db) + try: + family = self.db.get_family_from_handle(family_handle) + pn = Utils.family_name(family,self.db) + except: + pn = _("Unknown") self.text.write('\t') self.text.write(_("%s was removed from the family of %s\n") % (cn,pn))