def object_extend(self, obj: Person, args: Dict) -> Person: """Extend person attributes as needed.""" db_handle = self.db_handle if "profile" in args: obj.profile = get_person_profile_for_object(db_handle, obj, with_family=True, with_events=True) if "extend" in args: obj.extended = get_extended_attributes(db_handle, obj, args) if "all" in args["extend"] or "families" in args["extend"]: obj.extended["families"] = [ get_family_by_handle(db_handle, handle) for handle in obj.family_list ] if "all" in args["extend"] or "parent_families" in args["extend"]: obj.extended["parent_families"] = [ get_family_by_handle(db_handle, handle) for handle in obj.parent_family_list ] if "all" in args["extend"] or "primary_parent_family" in args[ "extend"]: obj.extended["primary_parent_family"] = get_family_by_handle( db_handle, obj.get_main_parents_family_handle()) return obj