fastgedcom.family_link
Define the FamilyLink
class used to bypass family records.
Module Contents
Classes
Class with methods to easily get relatives of someone. |
- class fastgedcom.family_link.FamilyLink(document: fastgedcom.base.Document)[source]
Class with methods to easily get relatives of someone.
Methods ending in _ref (such as
get_parent_family_ref()
) are called by their non-_ref counterparts (such asget_parent_family()
). Use the first set of methods when you need performance. Use the second set of methods for convenience.The class uses 2 dictionnaries to speed up the process. The parents dictionnary is used to get the parents of someone (via the FAMC of the person). The unions dictionnary is used to get the spouses or children (via the FAMS of the person). Not all methods use those dictionnaries.
- get_parent_family_ref(child: fastgedcom.base.TrueLine | fastgedcom.base.FakeLine) fastgedcom.base.FamRef | None [source]
Return the family reference with the parents of the person.
- get_parent_family(child: fastgedcom.base.TrueLine | fastgedcom.base.FakeLine) fastgedcom.base.Record | fastgedcom.base.FakeLine [source]
Return the family record with the parents of the person.
- get_parents(child: fastgedcom.base.IndiRef) tuple[fastgedcom.base.Record | fastgedcom.base.FakeLine, fastgedcom.base.Record | fastgedcom.base.FakeLine] [source]
Return the father and the mother of the person.
- get_unions(spouse: fastgedcom.base.IndiRef) list[fastgedcom.base.Record] [source]
Return the unions of the person.
- get_unions_with(spouse1: fastgedcom.base.IndiRef, spouse2: fastgedcom.base.IndiRef) list[fastgedcom.base.Record] [source]
Return the unions between the two people.
In most cases, there should be only one union, but remarriage between the same two people could happen.
- get_children_ref(parent: fastgedcom.base.IndiRef) list[fastgedcom.base.IndiRef] [source]
Return the children’s references of a person.
- get_children(parent: fastgedcom.base.IndiRef) list[fastgedcom.base.Record] [source]
Return the children’s records of a person.
- get_children_with_ref(spouse1: fastgedcom.base.IndiRef, spouse2: fastgedcom.base.IndiRef) list[fastgedcom.base.IndiRef] [source]
Return the children’s references of the couple.
- get_children_with(spouse1: fastgedcom.base.IndiRef, spouse2: fastgedcom.base.IndiRef) list[fastgedcom.base.Record] [source]
Return the children’s records of the couple.
- get_spouses_ref(indi: fastgedcom.base.IndiRef) list[fastgedcom.base.IndiRef] [source]
Return the spouses’ references of the person.
- get_spouses(indi: fastgedcom.base.IndiRef) list[fastgedcom.base.Record] [source]
Return the spouses’ records of the person.
- get_all_siblings_ref(indi: fastgedcom.base.IndiRef) list[fastgedcom.base.IndiRef] [source]
Return the siblings’ references of the person. Stepsiblings included.
- get_all_siblings(indi: fastgedcom.base.IndiRef) list[fastgedcom.base.Record] [source]
Return the siblings’ records of the person. Stepsiblings included.
- get_siblings_ref(indi: fastgedcom.base.IndiRef) list[fastgedcom.base.IndiRef] [source]
Return the siblings’ references of the person. Stepsiblings excluded.
- get_siblings(indi: fastgedcom.base.IndiRef) list[fastgedcom.base.Record] [source]
Return the siblings’ records of the person. Stepsiblings excluded.
- get_stepsiblings_ref(indi: fastgedcom.base.IndiRef) list[fastgedcom.base.IndiRef] [source]
Return the stepsiblings’ references of the person. Siblings excluded.
- get_stepsiblings(indi: fastgedcom.base.IndiRef) list[fastgedcom.base.Record] [source]
Return the stepsiblings of the person. Siblings excluded.
- get_spouse_in_fam_ref(indi: fastgedcom.base.IndiRef, fam: fastgedcom.base.Record) fastgedcom.base.IndiRef | None [source]
Return the spouse’s reference of the family that is not the person’s.
- get_spouse_in_fam(indi: fastgedcom.base.IndiRef, fam: fastgedcom.base.Record) fastgedcom.base.Record | fastgedcom.base.FakeLine [source]
Return the spouse’s record of the family that is not the person’s.
- traverse_ref(indi: fastgedcom.base.IndiRef, ascent: int = 0, descent: int = 0) list[fastgedcom.base.IndiRef] [source]
Recursively traverse the parents of the person and then their children.
The degree of kinship is equal to the sum ascent + descent.
- traverse(indi: fastgedcom.base.IndiRef, ascent: int = 0, descent: int = 0) list[fastgedcom.base.Record] [source]
Recursively traverse the parents of the person and then their children.
The degree of kinship is equal to the sum ascent + descent.
- get_relatives_ref(indi: fastgedcom.base.IndiRef, generation_diff: int = 0, collateral_diff: int = 0) list[fastgedcom.base.IndiRef] [source]
Return relatives’s references of the person. See
get_relatives()
for more details.
- get_relatives(indi: fastgedcom.base.IndiRef, generation_diff: int = 0, collateral_diff: int = 0) list[fastgedcom.base.Record] [source]
Return relatives of the person.
generation_diff stand for generation difference:
1 parents, 2 grandparents, -1 children, -2 grand-children, …
collateral_diff is used for same-generation difference:
1 sibling, 2 cousins, 3 grand-counsins, …
The combinaison can be read as:
(when generation_diff > 0) collateral_diff of generation_diff
(when generation_diff < 0) generation_diff of collateral_diff
The collateral_diff must be strictly positive. This function is a wrapper around
traverse()
.