Feature 9243: Increase relationship.py to show relationships

beyond 20th generation
This commit is contained in:
Sam Manzi 2016-12-30 14:16:50 +11:00 committed by Nick Hall
parent 5e10faf779
commit 5acf75d696

View File

@ -54,7 +54,15 @@ LOG.addHandler(logging.StreamHandler())
_LEVEL_NAME = ["", "first", "second", "third", "fourth", "fifth", "sixth",
"seventh", "eighth", "ninth", "tenth", "eleventh", "twelfth",
"thirteenth", "fourteenth", "fifteenth", "sixteenth",
"seventeenth", "eighteenth", "nineteenth", "twentieth"]
"seventeenth", "eighteenth", "nineteenth", "twentieth",
"twenty-first", "twenty-second", "twenty-third", "twenty-fourth",
"twenty-fifth", "twenty-sixth", "twenty-seventh", "twenty-eighth",
"twenty-ninth", "thirtieth", "thirty-first", "thirty-second",
"thirty-third", "thirty-fourth", "thirty-fifth", "thirty-sixth",
"thirty-seventh", "thirty-eighth", "thirty-ninth", "fortieth",
"forty-first", "forty-second", "forty-third", "forty-fourth",
"forty-fifth", "forty-sixth", "forty-seventh", "forty-eighth",
"forty-ninth", "fiftieth" ]
_REMOVED_LEVEL = ["", " once removed", " twice removed",
" three times removed",
@ -68,7 +76,22 @@ _REMOVED_LEVEL = ["", " once removed", " twice removed",
" fifteen times removed",
" sixteen times removed", " seventeen times removed",
" eighteen times removed",
" nineteen times removed", " twenty times removed"]
" nineteen times removed", " twenty times removed",
" twenty-one times removed", " twenty-two times removed",
" twenty-three times removed", " twenty-four times removed",
" twenty-five times removed", " twenty-six times removed",
" twenty-seven times removed", " twenty-eight times removed",
" twenty-nine times removed", " thirty times removed",
" thirty-one times removed", " thirty-two times removed",
" thirty-three times removed", " thirty-four times removed",
" thirty-five times removed", " thirty-six times removed",
" thirty-seven times removed", " thirty-eight times removed",
" thirty-nine times removed", " forty times removed",
" forty-one times removed", " forty-two times removed",
" forty-three times removed", " forty-four times removed",
" forty-five times removed", " forty-six times removed",
" forty-seven times removed", " forty-eight times removed",
" forty-nine times removed", " fifty times removed", ]
_PARENTS_LEVEL = ["", "parents", "grandparents", "great grandparents",
"second great grandparents",
@ -89,7 +112,37 @@ _PARENTS_LEVEL = ["", "parents", "grandparents", "great grandparents",
"seventeenth great grandparents",
"eighteenth great grandparents",
"nineteenth great grandparents",
"twentieth great grandparents"]
"twentieth great grandparents",
"twenty-first great grandparents",
"twenty-second great grandparents",
"twenty-third great grandparents",
"twenty-fourth great grandparents",
"twenty-fifth great grandparents",
"twenty-sixth great grandparents",
"twenty-seventh great grandparents",
"twenty-eighth great grandparents",
"twenty-ninth great grandparents",
"thirtieth great grandparents",
"thirty-first great grandparents",
"thirty-second great grandparents",
"thirty-third great grandparents",
"thirty-fourth great grandparents",
"thirty-fifth great grandparents",
"thirty-sixth great grandparents",
"thirty-seventh great grandparents",
"thirty-eighth great grandparents",
"thirty-ninth great grandparents",
"fortieth great grandparents",
"forty-first great grandparents",
"forty-second great grandparents",
"forty-third great grandparents",
"forty-fourth great grandparents",
"forty-fifth great grandparents",
"forty-sixth great grandparents",
"forty-seventh great grandparents",
"forty-eighth great grandparents",
"forty-ninth great grandparents",
"fiftieth great grandparents", ]
_FATHER_LEVEL = ["", "%(step)sfather%(inlaw)s", "%(step)sgrandfather%(inlaw)s",
"great %(step)sgrandfather%(inlaw)s",
@ -111,7 +164,37 @@ _FATHER_LEVEL = ["", "%(step)sfather%(inlaw)s", "%(step)sgrandfather%(inlaw)s",
"seventeenth great %(step)sgrandfather%(inlaw)s",
"eighteenth great %(step)sgrandfather%(inlaw)s",
"nineteenth great %(step)sgrandfather%(inlaw)s",
"twentieth great %(step)sgrandfather%(inlaw)s"]
"twentieth great %(step)sgrandfather%(inlaw)s",
"twenty-first great %(step)sgrandfather%(inlaw)s",
"twenty-second great %(step)sgrandfather%(inlaw)s",
"twenty-third great %(step)sgrandfather%(inlaw)s",
"twenty-fourth great %(step)sgrandfather%(inlaw)s",
"twenty-fifth great %(step)sgrandfather%(inlaw)s",
"twenty-sixth great %(step)sgrandfather%(inlaw)s",
"twenty-seventh great %(step)sgrandfather%(inlaw)s",
"twenty-eighth great %(step)sgrandfather%(inlaw)s",
"twenty-ninth great %(step)sgrandfather%(inlaw)s",
"thirtieth great %(step)sgrandfather%(inlaw)s",
"thirty-first great %(step)sgrandfather%(inlaw)s",
"thirty-second great %(step)sgrandfather%(inlaw)s",
"thirty-third great %(step)sgrandfather%(inlaw)s",
"thirty-fourth great %(step)sgrandfather%(inlaw)s",
"thirty-fifth great %(step)sgrandfather%(inlaw)s",
"thirty-sixth great %(step)sgrandfather%(inlaw)s",
"thirty-seventh great %(step)sgrandfather%(inlaw)s",
"thirty-eighth great %(step)sgrandfather%(inlaw)s",
"thirty-ninth great %(step)sgrandfather%(inlaw)s",
"fourtieth great %(step)sgrandfather%(inlaw)s",
"forty-first great %(step)sgrandfather%(inlaw)s",
"forty-second great %(step)sgrandfather%(inlaw)s",
"forty-third great %(step)sgrandfather%(inlaw)s",
"forty-fourth great %(step)sgrandfather%(inlaw)s",
"forty-fifth great %(step)sgrandfather%(inlaw)s",
"forty-sixth great %(step)sgrandfather%(inlaw)s",
"forty-seventh great %(step)sgrandfather%(inlaw)s",
"forty-eighth great %(step)sgrandfather%(inlaw)s",
"forty-ninth great %(step)sgrandfather%(inlaw)s",
"fiftieth great %(step)sgrandfather%(inlaw)s", ]
_MOTHER_LEVEL = ["", "%(step)smother%(inlaw)s",
"%(step)sgrandmother%(inlaw)s",
@ -134,7 +217,37 @@ _MOTHER_LEVEL = ["", "%(step)smother%(inlaw)s",
"seventeenth great %(step)sgrandmother%(inlaw)s",
"eighteenth great %(step)sgrandmother%(inlaw)s",
"nineteenth great %(step)sgrandmother%(inlaw)s",
"twentieth great %(step)sgrandmother%(inlaw)s"]
"twentieth great %(step)sgrandmother%(inlaw)s",
"twenty-first great %(step)sgrandmother%(inlaw)s",
"twenty-second great %(step)sgrandmother%(inlaw)s",
"twenty-third great %(step)sgrandmother%(inlaw)s",
"twenty-fourth great %(step)sgrandmother%(inlaw)s",
"twenty-fifth great %(step)sgrandmother%(inlaw)s",
"twenty-sixth great %(step)sgrandmother%(inlaw)s",
"twenty-seventh great %(step)sgrandmother%(inlaw)s",
"twenty-eighth great %(step)sgrandmother%(inlaw)s",
"twenty-ninth great %(step)sgrandmother%(inlaw)s",
"thirtieth great %(step)sgrandmother%(inlaw)s",
"thirty-first great %(step)sgrandmother%(inlaw)s",
"thirty-second great %(step)sgrandmother%(inlaw)s",
"thirty-third great %(step)sgrandmother%(inlaw)s",
"thirty-forth great %(step)sgrandmother%(inlaw)s",
"thirty-fifth great %(step)sgrandmother%(inlaw)s",
"thirty-sixth great %(step)sgrandmother%(inlaw)s",
"thirty-seventh great %(step)sgrandmother%(inlaw)s",
"thirty-eighth great %(step)sgrandmother%(inlaw)s",
"thirty-ninth great %(step)sgrandmother%(inlaw)s",
"fourtieth great %(step)sgrandmother%(inlaw)s",
"forty-first great %(step)sgrandmother%(inlaw)s",
"forty-second great %(step)sgrandmother%(inlaw)s",
"forty-third great %(step)sgrandmother%(inlaw)s",
"forty-fourth great %(step)sgrandmother%(inlaw)s",
"forty-fifth great %(step)sgrandmother%(inlaw)s",
"forty-sixth great %(step)sgrandmother%(inlaw)s",
"forty-seventh great %(step)sgrandmother%(inlaw)s",
"forty-eighth great %(step)sgrandmother%(inlaw)s",
"forty-ninth great %(step)sgrandmother%(inlaw)s",
"fiftieth great %(step)sgrandmother%(inlaw)s", ]
_SON_LEVEL = ["", "%(step)sson%(inlaw)s", "%(step)sgrandson%(inlaw)s",
"great %(step)sgrandson%(inlaw)s",
@ -156,7 +269,37 @@ _SON_LEVEL = ["", "%(step)sson%(inlaw)s", "%(step)sgrandson%(inlaw)s",
"seventeenth great %(step)sgrandson%(inlaw)s",
"eighteenth great %(step)sgrandson%(inlaw)s",
"nineteenth great %(step)sgrandson%(inlaw)s",
"twentieth great %(step)sgrandson%(inlaw)s"]
"twentieth great %(step)sgrandson%(inlaw)s",
"twenty-first great %(step)sgrandson%(inlaw)s",
"twenty-second great %(step)sgrandson%(inlaw)s",
"twenty-third great %(step)sgrandson%(inlaw)s",
"twenty-fourth great %(step)sgrandson%(inlaw)s",
"twenty-fifth great %(step)sgrandson%(inlaw)s",
"twenty-sixth great %(step)sgrandson%(inlaw)s",
"twenty-seventh great %(step)sgrandson%(inlaw)s",
"twenty-eighth great %(step)sgrandson%(inlaw)s",
"twenty-ninth great %(step)sgrandson%(inlaw)s",
"thirtieth great %(step)sgrandson%(inlaw)s",
"thirty-first great %(step)sgrandson%(inlaw)s",
"thirty-second great %(step)sgrandson%(inlaw)s",
"thirty-third great %(step)sgrandson%(inlaw)s",
"thirty-forth great %(step)sgrandson%(inlaw)s",
"thirty-fifth great %(step)sgrandson%(inlaw)s",
"thirty-sixth great %(step)sgrandson%(inlaw)s",
"thirty-seventh great %(step)sgrandson%(inlaw)s",
"thirty-eighth great %(step)sgrandson%(inlaw)s",
"thirty-ninth great %(step)sgrandson%(inlaw)s",
"fourtieth great %(step)sgrandson%(inlaw)s",
"forty-first great %(step)sgrandson%(inlaw)s",
"forty-second great %(step)sgrandson%(inlaw)s",
"forty-third great %(step)sgrandson%(inlaw)s",
"forty-fourth great %(step)sgrandson%(inlaw)s",
"forty-fifth great %(step)sgrandson%(inlaw)s",
"forty-sixth great %(step)sgrandson%(inlaw)s",
"forty-seventh great %(step)sgrandson%(inlaw)s",
"forty-eighth great %(step)sgrandson%(inlaw)s",
"forty-ninth great %(step)sgrandson%(inlaw)s",
"fiftieth great %(step)sgrandson%(inlaw)s", ]
_DAUGHTER_LEVEL = ["", "%(step)sdaughter%(inlaw)s",
"%(step)sgranddaughter%(inlaw)s",
@ -179,7 +322,37 @@ _DAUGHTER_LEVEL = ["", "%(step)sdaughter%(inlaw)s",
"seventeenth great %(step)sgranddaughter%(inlaw)s",
"eighteenth great %(step)sgranddaughter%(inlaw)s",
"nineteenth great %(step)sgranddaughter%(inlaw)s",
"twentieth great %(step)sgranddaughter%(inlaw)s"]
"twentieth great %(step)sgranddaughter%(inlaw)s",
"twenty-first great %(step)sgranddaughter%(inlaw)s",
"twenty-second great %(step)sgranddaughter%(inlaw)s",
"twenty-third great %(step)sgranddaughter%(inlaw)s",
"twenty-fourth great %(step)sgranddaughter%(inlaw)s",
"twenty-fifth great %(step)sgranddaughter%(inlaw)s",
"twenty-sixth great %(step)sgranddaughter%(inlaw)s",
"twenty-seventh great %(step)sgranddaughter%(inlaw)s",
"twenty-eighth great %(step)sgranddaughter%(inlaw)s",
"twenty-ninth great %(step)sgranddaughter%(inlaw)s",
"thirtieth great %(step)sgranddaughter%(inlaw)s",
"thirty-first great %(step)sgranddaughter%(inlaw)s",
"thirty-second great %(step)sgranddaughter%(inlaw)s",
"thirty-third great %(step)sgranddaughter%(inlaw)s",
"thirty-forth great %(step)sgranddaughter%(inlaw)s",
"thirty-fifth great %(step)sgranddaughter%(inlaw)s",
"thirty-sixth great %(step)sgranddaughter%(inlaw)s",
"thirty-seventh great %(step)sgranddaughter%(inlaw)s",
"thirty-eighth great %(step)sgranddaughter%(inlaw)s",
"thirty-ninth great %(step)sgranddaughter%(inlaw)s",
"fourtieth great %(step)sgranddaughter%(inlaw)s",
"forty-first great %(step)sgranddaughter%(inlaw)s",
"forty-second great %(step)sgranddaughter%(inlaw)s",
"forty-third great %(step)sgranddaughter%(inlaw)s",
"forty-fourth great %(step)sgranddaughter%(inlaw)s",
"forty-fifth great %(step)sgranddaughter%(inlaw)s",
"forty-sixth great %(step)sgranddaughter%(inlaw)s",
"forty-seventh great %(step)sgranddaughter%(inlaw)s",
"forty-eighth great %(step)sgranddaughter%(inlaw)s",
"forty-ninth great %(step)sgranddaughter%(inlaw)s",
"fiftieth great %(step)sgranddaughter%(inlaw)s", ]
_SISTER_LEVEL = ["", "%(step)ssister%(inlaw)s", "%(step)saunt%(inlaw)s",
"%(step)sgrandaunt%(inlaw)s",
@ -202,7 +375,37 @@ _SISTER_LEVEL = ["", "%(step)ssister%(inlaw)s", "%(step)saunt%(inlaw)s",
"seventeenth great %(step)sgrandaunt%(inlaw)s",
"eighteenth great %(step)sgrandaunt%(inlaw)s",
"nineteenth great %(step)sgrandaunt%(inlaw)s",
"twentieth great %(step)sgrandaunt%(inlaw)s"]
"twentieth great %(step)sgrandaunt%(inlaw)s",
"twenty-first great %(step)sgrandaunt%(inlaw)s",
"twenty-second great %(step)sgrandaunt%(inlaw)s",
"twenty-third great %(step)sgrandaunt%(inlaw)s",
"twenty-fourth great %(step)sgrandaunt%(inlaw)s",
"twenty-fifth great %(step)sgrandaunt%(inlaw)s",
"twenty-sixth great %(step)sgrandaunt%(inlaw)s",
"twenty-seventh great %(step)sgrandaunt%(inlaw)s",
"twenty-eighth great %(step)sgrandaunt%(inlaw)s",
"twenty-ninth great %(step)sgrandaunt%(inlaw)s",
"thirtieth great %(step)sgrandaunt%(inlaw)s",
"thirty-first great %(step)sgrandaunt%(inlaw)s",
"thirty-second great %(step)sgrandaunt%(inlaw)s",
"thirty-third great %(step)sgrandaunt%(inlaw)s",
"thirty-forth great %(step)sgrandaunt%(inlaw)s",
"thirty-fifth great %(step)sgrandaunt%(inlaw)s",
"thirty-sixth great %(step)sgrandaunt%(inlaw)s",
"thirty-seventh great %(step)sgrandaunt%(inlaw)s",
"thirty-eighth great %(step)sgrandaunt%(inlaw)s",
"thirty-ninth great %(step)sgrandaunt%(inlaw)s",
"fourtieth great %(step)sgrandaunt%(inlaw)s",
"forty-first great %(step)sgrandaunt%(inlaw)s",
"forty-second great %(step)sgrandaunt%(inlaw)s",
"forty-third great %(step)sgrandaunt%(inlaw)s",
"forty-fourth great %(step)sgrandaunt%(inlaw)s",
"forty-fifth great %(step)sgrandaunt%(inlaw)s",
"forty-sixth great %(step)sgrandaunt%(inlaw)s",
"forty-seventh great %(step)sgrandaunt%(inlaw)s",
"forty-eighth great %(step)sgrandaunt%(inlaw)s",
"forty-ninth great %(step)sgrandaunt%(inlaw)s",
"fiftieth great %(step)sgrandaunt%(inlaw)s", ]
_BROTHER_LEVEL = ["", "%(step)sbrother%(inlaw)s", "%(step)suncle%(inlaw)s",
"%(step)sgranduncle%(inlaw)s",
@ -225,7 +428,37 @@ _BROTHER_LEVEL = ["", "%(step)sbrother%(inlaw)s", "%(step)suncle%(inlaw)s",
"seventeenth great %(step)sgranduncle%(inlaw)s",
"eighteenth great %(step)sgranduncle%(inlaw)s",
"nineteenth great %(step)sgranduncle%(inlaw)s",
"twentieth great %(step)sgranduncle%(inlaw)s"]
"twentieth great %(step)sgranduncle%(inlaw)s",
"twenty-first great %(step)sgranduncle%(inlaw)s",
"twenty-second great %(step)sgranduncle%(inlaw)s",
"twenty-third great %(step)sgranduncle%(inlaw)s",
"twenty-fourth great %(step)sgranduncle%(inlaw)s",
"twenty-fifth great %(step)sgranduncle%(inlaw)s",
"twenty-sixth great %(step)sgranduncle%(inlaw)s",
"twenty-seventh great %(step)sgranduncle%(inlaw)s",
"twenty-eighth great %(step)sgranduncle%(inlaw)s",
"twenty-ninth great %(step)sgranduncle%(inlaw)s",
"thirtieth great %(step)sgranduncle%(inlaw)s",
"thirty-first great %(step)sgranduncle%(inlaw)s",
"thirty-second great %(step)sgranduncle%(inlaw)s",
"thirty-third great %(step)sgranduncle%(inlaw)s",
"thirty-fourth great %(step)sgranduncle%(inlaw)s",
"thirty-fifth great %(step)sgranduncle%(inlaw)s",
"thirty-sixth great %(step)sgranduncle%(inlaw)s",
"thirty-seventh great %(step)sgranduncle%(inlaw)s",
"thirty-eighth great %(step)sgranduncle%(inlaw)s",
"thirty-ninth great %(step)sgranduncle%(inlaw)s",
"fourtieth great %(step)sgranduncle%(inlaw)s",
"forty-first great %(step)sgranduncle%(inlaw)s",
"forty-second great %(step)sgranduncle%(inlaw)s",
"forty-third great %(step)sgranduncle%(inlaw)s",
"forty-fourth great %(step)sgranduncle%(inlaw)s",
"forty-fifth great %(step)sgranduncle%(inlaw)s",
"forty-sixth great %(step)sgranduncle%(inlaw)s",
"forty-seventh great %(step)sgranduncle%(inlaw)s",
"forty-eighth great %(step)sgranduncle%(inlaw)s",
"forty-ninth great %(step)sgranduncle%(inlaw)s",
"fiftieth great %(step)sgranduncle%(inlaw)s", ]
_NEPHEW_LEVEL = ["", "%(step)snephew%(inlaw)s", "%(step)sgrandnephew%(inlaw)s",
"great %(step)sgrandnephew%(inlaw)s",
@ -247,7 +480,37 @@ _NEPHEW_LEVEL = ["", "%(step)snephew%(inlaw)s", "%(step)sgrandnephew%(inlaw)s",
"seventeenth great %(step)sgrandnephew%(inlaw)s",
"eighteenth great %(step)sgrandnephew%(inlaw)s",
"nineteenth great %(step)sgrandnephew%(inlaw)s",
"twentieth great %(step)sgrandnephew%(inlaw)s"]
"twentieth great %(step)sgrandnephew%(inlaw)s",
"twenty-first great %(step)sgrandnephew%(inlaw)s",
"twenty-second great %(step)sgrandnephew%(inlaw)s",
"twenty-third great %(step)sgrandnephew%(inlaw)s",
"twenty-fourth great %(step)sgrandnephew%(inlaw)s",
"twenty-fifth great %(step)sgrandnephew%(inlaw)s",
"twenty-sixth great %(step)sgrandnephew%(inlaw)s",
"twenty-seventh great %(step)sgrandnephew%(inlaw)s",
"twenty-eighth great %(step)sgrandnephew%(inlaw)s",
"twenty-ninth great %(step)sgrandnephew%(inlaw)s",
"thirtieth great %(step)sgrandnephew%(inlaw)s",
"thirty-first great %(step)sgrandnephew%(inlaw)s",
"thirty-second great %(step)sgrandnephew%(inlaw)s",
"thirty-third great %(step)sgrandnephew%(inlaw)s",
"thirty-fourth great %(step)sgrandnephew%(inlaw)s",
"thirty-fifth great %(step)sgrandnephew%(inlaw)s",
"thirty-sixth great %(step)sgrandnephew%(inlaw)s",
"thirty-seventh great %(step)sgrandnephew%(inlaw)s",
"thirty-eighth great %(step)sgrandnephew%(inlaw)s",
"thirty-ninth great %(step)sgrandnephew%(inlaw)s",
"fourtieth great %(step)sgrandnephew%(inlaw)s",
"forty-first great %(step)sgrandnephew%(inlaw)s",
"forty-second great %(step)sgrandnephew%(inlaw)s",
"forty-third great %(step)sgrandnephew%(inlaw)s",
"forty-fourth great %(step)sgrandnephew%(inlaw)s",
"forty-fifth great %(step)sgrandnephew%(inlaw)s",
"forty-sixth great %(step)sgrandnephew%(inlaw)s",
"forty-seventh great %(step)sgrandnephew%(inlaw)s",
"forty-eighth great %(step)sgrandnephew%(inlaw)s",
"forty-ninth great %(step)sgrandnephew%(inlaw)s",
"fiftieth great %(step)sgrandnephew%(inlaw)s", ]
_NIECE_LEVEL = ["", "%(step)sniece%(inlaw)s", "%(step)sgrandniece%(inlaw)s",
"great %(step)sgrandniece%(inlaw)s",
@ -269,7 +532,37 @@ _NIECE_LEVEL = ["", "%(step)sniece%(inlaw)s", "%(step)sgrandniece%(inlaw)s",
"seventeenth great %(step)sgrandniece%(inlaw)s",
"eighteenth great %(step)sgrandniece%(inlaw)s",
"nineteenth great %(step)sgrandniece%(inlaw)s",
"twentieth great %(step)sgrandniece%(inlaw)s"]
"twentieth great %(step)sgrandniece%(inlaw)s",
"twenty-first great %(step)sgrandniece%(inlaw)s",
"twenty-second great %(step)sgrandniece%(inlaw)s",
"twenty-third great %(step)sgrandniece%(inlaw)s",
"twenty-fourth great %(step)sgrandniece%(inlaw)s",
"twenty-fifth great %(step)sgrandniece%(inlaw)s",
"twenty-sixth great %(step)sgrandniece%(inlaw)s",
"twenty-seventh great %(step)sgrandniece%(inlaw)s",
"twenty-eighth great %(step)sgrandniece%(inlaw)s",
"twenty-ninth great %(step)sgrandniece%(inlaw)s",
"thirtieth great %(step)sgrandniece%(inlaw)s",
"thirty-first great %(step)sgrandniece%(inlaw)s",
"thirty-second great %(step)sgrandniece%(inlaw)s",
"thirty-third great %(step)sgrandniece%(inlaw)s",
"thirty-fourth great %(step)sgrandniece%(inlaw)s",
"thirty-fifth great %(step)sgrandniece%(inlaw)s",
"thirty-sixth great %(step)sgrandniece%(inlaw)s",
"thirty-seventh great %(step)sgrandniece%(inlaw)s",
"thirty-eighth great %(step)sgrandniece%(inlaw)s",
"thirty-ninth great %(step)sgrandniece%(inlaw)s",
"fourtieth great %(step)sgrandniece%(inlaw)s",
"forty-first great %(step)sgrandniece%(inlaw)s",
"forty-second great %(step)sgrandniece%(inlaw)s",
"forty-third great %(step)sgrandniece%(inlaw)s",
"forty-fourth great %(step)sgrandniece%(inlaw)s",
"forty-fifth great %(step)sgrandniece%(inlaw)s",
"forty-sixth great %(step)sgrandniece%(inlaw)s",
"forty-seventh great %(step)sgrandniece%(inlaw)s",
"forty-eighth great %(step)sgrandniece%(inlaw)s",
"forty-ninth great %(step)sgrandniece%(inlaw)s",
"fiftieth great %(step)sgrandniece%(inlaw)s", ]
_CHILDREN_LEVEL = ["",
"children",
@ -293,7 +586,37 @@ _CHILDREN_LEVEL = ["",
"seventeenth great grandchildren",
"eighteenth great grandchildren",
"nineteenth great grandchildren",
"twentieth great grandchildren"]
"twentieth great grandchildren",
"twenty-first great grandchildren",
"twenty-second great grandchildren",
"twenty-third great grandchildren",
"twenty-fourth great grandchildren",
"twenty-fifth great grandchildren",
"twenty-sixth great grandchildren",
"twenty-seventh great grandchildren",
"twenty-eighth great grandchildren",
"twenty-ninth great grandchildren",
"thirtieth great grandchildren",
"thirty-first great grandchildren",
"thirty-second great grandchildren",
"thirty-third great grandchildren",
"thirty-fourth great grandchildren",
"thirty-fifth great grandchildren",
"thirty-sixth great grandchildren",
"thirty-seventh great grandchildren",
"thirty-eighth great grandchildren",
"thirty-ninth great grandchildren",
"fourtieth great grandchildren",
"forty-first great grandchildren",
"forty-second great grandchildren",
"forty-third great grandchildren",
"forty-fourth great grandchildren",
"forty-fifth great grandchildren",
"forty-sixth great grandchildren",
"forty-seventh great grandchildren",
"forty-eighth great grandchildren",
"forty-ninth great grandchildren",
"fiftieth great grandchildren", ]
_SIBLINGS_LEVEL = ["",
"siblings",
@ -318,7 +641,37 @@ _SIBLINGS_LEVEL = ["",
"seventeenth great granduncles/aunts",
"eighteenth great granduncles/aunts",
"nineteenth great granduncles/aunts",
"twentieth great granduncles/aunts"]
"twentieth great granduncles/aunts",
"twenty-first great granduncles/aunts",
"twenty-second great granduncles/aunts",
"twenty-third great granduncles/aunts",
"twenty-fourth great granduncles/aunts",
"twenty-fifth great granduncles/aunts",
"twenty-sixth great granduncles/aunts",
"twenty-seventh great granduncles/aunts",
"twenty-eighth great granduncles/aunts",
"twenty-ninth great granduncles/aunts",
"thirtieth great granduncles/aunts",
"thirty-first great granduncles/aunts",
"thirty-second great granduncles/aunts",
"thirty-third great granduncles/aunts",
"thirty-fourth great granduncles/aunts",
"thirty-fifth great granduncles/aunts",
"thirty-sixth great granduncles/aunts",
"thirty-seventh great granduncles/aunts",
"thirty-eighth great granduncles/aunts",
"thirty-ninth great granduncles/aunts",
"fortieth great granduncles/aunts",
"forty-first great granduncles/aunts",
"forty-second great granduncles/aunts",
"forty-third great granduncles/aunts",
"forty-fourth great granduncles/aunts",
"forty-fifth great granduncles/aunts",
"forty-sixth great granduncles/aunts",
"forty-seventh great granduncles/aunts",
"forty-eighth great granduncles/aunts",
"forty-ninth great granduncles/aunts",
"fiftienth great granduncles/aunts", ]
_SIBLING_LEVEL = ["",
"%(step)ssibling%(inlaw)s",
@ -343,7 +696,37 @@ _SIBLING_LEVEL = ["",
"seventeenth great %(step)sgranduncle/aunt%(inlaw)s",
"eighteenth great %(step)sgranduncle/aunt%(inlaw)s",
"nineteenth great %(step)sgranduncle/aunt%(inlaw)s",
"twentieth great %(step)sgranduncle/aunt%(inlaw)s"]
"twentieth great %(step)sgranduncle/aunt%(inlaw)s",
"twenty-first great %(step)sgranduncle/aunt%(inlaw)s",
"twenty-second great %(step)sgranduncle/aunt%(inlaw)s",
"twenty-third great %(step)sgranduncle/aunt%(inlaw)s",
"twenty-fourth great %(step)sgranduncle/aunt%(inlaw)s",
"twenty-fifth great %(step)sgranduncle/aunt%(inlaw)s",
"twenty-sixth great %(step)sgranduncle/aunt%(inlaw)s",
"twenty-seventh great %(step)sgranduncle/aunt%(inlaw)s",
"twenty-eighth great %(step)sgranduncle/aunt%(inlaw)s",
"twenty-ninth great %(step)sgranduncle/aunt%(inlaw)s",
"thirtieth great %(step)sgranduncle/aunt%(inlaw)s",
"thirty-first great %(step)sgranduncle/aunt%(inlaw)s",
"thirty-second great %(step)sgranduncle/aunt%(inlaw)s",
"thirty-third great %(step)sgranduncle/aunt%(inlaw)s",
"thirty-fourth great %(step)sgranduncle/aunt%(inlaw)s",
"thirty-fifth great %(step)sgranduncle/aunt%(inlaw)s",
"thirty-sixth great %(step)sgranduncle/aunt%(inlaw)s",
"thirty-seventh great %(step)sgranduncle/aunt%(inlaw)s",
"thirty-eighth great %(step)sgranduncle/aunt%(inlaw)s",
"thirty-ninth great %(step)sgranduncle/aunt%(inlaw)s",
"fortieth great %(step)sgranduncle/aunt%(inlaw)s",
"forty-first great %(step)sgranduncle/aunt%(inlaw)s",
"forty-second great %(step)sgranduncle/aunt%(inlaw)s",
"forty-third great %(step)sgranduncle/aunt%(inlaw)s",
"forty-fourth great %(step)sgranduncle/aunt%(inlaw)s",
"forty-fifth great %(step)sgranduncle/aunt%(inlaw)s",
"forty-sixth great %(step)sgranduncle/aunt%(inlaw)s",
"forty-seventh great %(step)sgranduncle/aunt%(inlaw)s",
"forty-eighth great %(step)sgranduncle/aunt%(inlaw)s",
"forty-ninth great %(step)sgranduncle/aunt%(inlaw)s",
"fiftieth great %(step)sgranduncle/aunt%(inlaw)s", ]
_NEPHEWS_NIECES_LEVEL = ["",
"siblings",
@ -368,7 +751,37 @@ _NEPHEWS_NIECES_LEVEL = ["",
"seventeenth great grandnephews/nieces",
"eighteenth great grandnephews/nieces",
"nineteenth great grandnephews/nieces",
"twentieth great grandnephews/nieces"]
"twentieth great grandnephews/nieces",
"twenty-first great grandnephews/nieces",
"twenty-second great grandnephews/nieces",
"twenty-third great grandnephews/nieces",
"twenty-fourth great grandnephews/nieces",
"twenty-fifth great grandnephews/nieces",
"twenty-sixth great grandnephews/nieces",
"twenty-seventh great grandnephews/nieces",
"twenty-eighth great grandnephews/nieces",
"twenty-ninth great grandnephews/nieces",
"thirtieth great grandnephews/nieces",
"thirty-first great grandnephews/nieces",
"thirty-second great grandnephews/nieces",
"thirty-third great grandnephews/nieces",
"thirty-fourth great grandnephews/nieces",
"thirty-fifth great grandnephews/nieces",
"thirty-sixth great grandnephews/nieces",
"thirty-seventh great grandnephews/nieces",
"thirty-eighth great grandnephews/nieces",
"thirty-ninth great grandnephews/nieces",
"fortieth great grandnephews/nieces",
"forty-first great grandnephews/nieces",
"forty-second great grandnephews/nieces",
"forty-third great grandnephews/nieces",
"forty-fourth great grandnephews/nieces",
"forty-fifth great grandnephews/nieces",
"forty-sixth great grandnephews/nieces",
"forty-seventh great grandnephews/nieces",
"forty-eighth great grandnephews/nieces",
"forty-ninth great grandnephews/nieces",
"fiftieth great grandnephews/nieces", ]
#-------------------------------------------------------------------------