Family Nick name propagation

[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