def latin_american_child(self, parent): """ If SURNAME_GUESSING is latin american, then find a child and return their name for the father or mother. parent = "mother" | "father" """ name = gen.lib.Name() #the editor requires a surname name.add_surname(gen.lib.Surname()) name.set_primary_surname(0) # for each child, find one with a last name for ref in self.obj.get_child_ref_list(): child = self.db.get_person_from_handle(ref.ref) if child: pname = child.get_primary_name() preset_name(child, name) if len(name.get_surname_list()) < 2: return name else: #return first for the father, and last for the mother if parent == 'father': name.set_surname_list(name.get_surname_list()[0]) return name else: name.set_surname_list(name.get_surname_list()[-1]) return name return name
def north_american(self): """ Child inherits name from father """ name = gen.lib.Name() #the editor requires a surname name.add_surname(gen.lib.Surname()) name.set_primary_surname(0) father_handle = self.family.get_father_handle() if father_handle: father = self.dbstate.db.get_person_from_handle(father_handle) preset_name(father, name) return name
def latin_american(self): """ Child inherits name from father and mother """ name = gen.lib.Name() #the editor requires a surname name.add_surname(gen.lib.Surname()) name.set_primary_surname(0) if self.family: father_handle = self.family.get_father_handle() mother_handle = self.family.get_mother_handle() father = self.dbstate.db.get_person_from_handle(father_handle) mother = self.dbstate.db.get_person_from_handle(mother_handle) if not father and not mother: return name if not father: preset_name(mother, name) return name if not mother: preset_name(father, name) return name #we take first surname, and keep that mothername = gen.lib.Name() preset_name(mother, mothername) preset_name(father, name) mothersurname = mothername.get_surname_list()[0] mothersurname.set_primary(False) name.set_surname_list([name.get_surname_list()[0], mothersurname]) return name else: return name
def north_american_child(self): """ If SURNAME_GUESSING is north american, then find a child and return their name for the father. """ # for each child, find one with a last name name = gen.lib.Name() #the editor requires a surname name.add_surname(gen.lib.Surname()) name.set_primary_surname(0) for ref in self.obj.get_child_ref_list(): child = self.db.get_person_from_handle(ref.ref) if child: preset_name(child, name) return name return name
def add(self, obj): person = gen.lib.Person() # attempt to get the current surname (model, pathlist) = self.selection.get_selected_rows() name = gen.lib.Name() #the editor requires a surname name.add_surname(gen.lib.Surname()) name.set_primary_surname(0) basepers = None if len(pathlist) == 1: path = pathlist[0] if len(path) == 1: path = (path[0], 0) node = model.get_iter(path) handle = model.get_value(node, self.handle_col) basepers = self.dbstate.db.get_person_from_handle(handle) if basepers: preset_name(basepers, name) person.set_primary_name(name) try: EditPerson(self.dbstate, self.uistate, [], person) except Errors.WindowActiveError: pass