[title] set-FamilyNickname-to-abbreviation [category] Families [initial_statements] # SuperTool script for the Families category # # Goes through all children in the family and sets their # FamilyNickname to an abbreviated form if the child's # surname matches with father's surname # from gramps.gen.lib import NameOriginType counter = [0] def get_primary_surname(p): return p.obj.primary_name.get_primary_surname().surname def get_surnames(p): for nameobj in p.nameobjs: for surnameobj in nameobj.get_surname_list(): yield surnameobj [statements] father_surname = get_primary_surname(father) for c in children: for i, surnameobj in enumerate(get_surnames(c)): if surnameobj.get_surname() == father_surname: if surnameobj.get_surname() == "Snowden": c.obj.primary_name.set_family_nick_name("S") if surnameobj.get_surname() == "Parker": c.obj.primary_name.set_family_nick_name("P") if surnameobj.get_surname() == "Keys": c.obj.primary_name.set_family_nick_name("K") if surnameobj.get_surname() == "Hoag": c.obj.primary_name.set_family_nick_name("H") db.commit_person(c.obj, trans) counter[0] += 1 [filter] [expressions] "names updated:",counter[0] [scope] selected [unwind_lists] False [commit_changes] True [summary_only] True
1 Like