[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