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", _LEVEL_NAME = ["", "first", "second", "third", "fourth", "fifth", "sixth",
"seventh", "eighth", "ninth", "tenth", "eleventh", "twelfth", "seventh", "eighth", "ninth", "tenth", "eleventh", "twelfth",
"thirteenth", "fourteenth", "fifteenth", "sixteenth", "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", _REMOVED_LEVEL = ["", " once removed", " twice removed",
" three times removed", " three times removed",
@ -68,7 +76,22 @@ _REMOVED_LEVEL = ["", " once removed", " twice removed",
" fifteen times removed", " fifteen times removed",
" sixteen times removed", " seventeen times removed", " sixteen times removed", " seventeen times removed",
" eighteen 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", _PARENTS_LEVEL = ["", "parents", "grandparents", "great grandparents",
"second great grandparents", "second great grandparents",
@ -89,7 +112,37 @@ _PARENTS_LEVEL = ["", "parents", "grandparents", "great grandparents",
"seventeenth great grandparents", "seventeenth great grandparents",
"eighteenth great grandparents", "eighteenth great grandparents",
"nineteenth 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", _FATHER_LEVEL = ["", "%(step)sfather%(inlaw)s", "%(step)sgrandfather%(inlaw)s",
"great %(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", "seventeenth great %(step)sgrandfather%(inlaw)s",
"eighteenth great %(step)sgrandfather%(inlaw)s", "eighteenth great %(step)sgrandfather%(inlaw)s",
"nineteenth 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", _MOTHER_LEVEL = ["", "%(step)smother%(inlaw)s",
"%(step)sgrandmother%(inlaw)s", "%(step)sgrandmother%(inlaw)s",
@ -134,7 +217,37 @@ _MOTHER_LEVEL = ["", "%(step)smother%(inlaw)s",
"seventeenth great %(step)sgrandmother%(inlaw)s", "seventeenth great %(step)sgrandmother%(inlaw)s",
"eighteenth great %(step)sgrandmother%(inlaw)s", "eighteenth great %(step)sgrandmother%(inlaw)s",
"nineteenth 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", _SON_LEVEL = ["", "%(step)sson%(inlaw)s", "%(step)sgrandson%(inlaw)s",
"great %(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", "seventeenth great %(step)sgrandson%(inlaw)s",
"eighteenth great %(step)sgrandson%(inlaw)s", "eighteenth great %(step)sgrandson%(inlaw)s",
"nineteenth 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", _DAUGHTER_LEVEL = ["", "%(step)sdaughter%(inlaw)s",
"%(step)sgranddaughter%(inlaw)s", "%(step)sgranddaughter%(inlaw)s",
@ -179,7 +322,37 @@ _DAUGHTER_LEVEL = ["", "%(step)sdaughter%(inlaw)s",
"seventeenth great %(step)sgranddaughter%(inlaw)s", "seventeenth great %(step)sgranddaughter%(inlaw)s",
"eighteenth great %(step)sgranddaughter%(inlaw)s", "eighteenth great %(step)sgranddaughter%(inlaw)s",
"nineteenth 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", _SISTER_LEVEL = ["", "%(step)ssister%(inlaw)s", "%(step)saunt%(inlaw)s",
"%(step)sgrandaunt%(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", "seventeenth great %(step)sgrandaunt%(inlaw)s",
"eighteenth great %(step)sgrandaunt%(inlaw)s", "eighteenth great %(step)sgrandaunt%(inlaw)s",
"nineteenth 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", _BROTHER_LEVEL = ["", "%(step)sbrother%(inlaw)s", "%(step)suncle%(inlaw)s",
"%(step)sgranduncle%(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", "seventeenth great %(step)sgranduncle%(inlaw)s",
"eighteenth great %(step)sgranduncle%(inlaw)s", "eighteenth great %(step)sgranduncle%(inlaw)s",
"nineteenth 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", _NEPHEW_LEVEL = ["", "%(step)snephew%(inlaw)s", "%(step)sgrandnephew%(inlaw)s",
"great %(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", "seventeenth great %(step)sgrandnephew%(inlaw)s",
"eighteenth great %(step)sgrandnephew%(inlaw)s", "eighteenth great %(step)sgrandnephew%(inlaw)s",
"nineteenth 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", _NIECE_LEVEL = ["", "%(step)sniece%(inlaw)s", "%(step)sgrandniece%(inlaw)s",
"great %(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", "seventeenth great %(step)sgrandniece%(inlaw)s",
"eighteenth great %(step)sgrandniece%(inlaw)s", "eighteenth great %(step)sgrandniece%(inlaw)s",
"nineteenth 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_LEVEL = ["",
"children", "children",
@ -293,7 +586,37 @@ _CHILDREN_LEVEL = ["",
"seventeenth great grandchildren", "seventeenth great grandchildren",
"eighteenth great grandchildren", "eighteenth great grandchildren",
"nineteenth 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_LEVEL = ["",
"siblings", "siblings",
@ -318,7 +641,37 @@ _SIBLINGS_LEVEL = ["",
"seventeenth great granduncles/aunts", "seventeenth great granduncles/aunts",
"eighteenth great granduncles/aunts", "eighteenth great granduncles/aunts",
"nineteenth 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 = ["", _SIBLING_LEVEL = ["",
"%(step)ssibling%(inlaw)s", "%(step)ssibling%(inlaw)s",
@ -343,7 +696,37 @@ _SIBLING_LEVEL = ["",
"seventeenth great %(step)sgranduncle/aunt%(inlaw)s", "seventeenth great %(step)sgranduncle/aunt%(inlaw)s",
"eighteenth great %(step)sgranduncle/aunt%(inlaw)s", "eighteenth great %(step)sgranduncle/aunt%(inlaw)s",
"nineteenth 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 = ["", _NEPHEWS_NIECES_LEVEL = ["",
"siblings", "siblings",
@ -368,7 +751,37 @@ _NEPHEWS_NIECES_LEVEL = ["",
"seventeenth great grandnephews/nieces", "seventeenth great grandnephews/nieces",
"eighteenth great grandnephews/nieces", "eighteenth great grandnephews/nieces",
"nineteenth 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", ]
#------------------------------------------------------------------------- #-------------------------------------------------------------------------