I've been working on doing some simple GEDCOM file creation and I was noticing that with routines like AddFamilyWithHusbandAndWife() I wasn't ending up with FAMS nodes on the individuals. (Compare F6 at http://wiki-en.genealogy.net/GEDCOM/FAM-Tag#Agreements_for_FAM)
I'm working on a pull request to add that support initially to (node *FamilyNode) SetHusband() and (node *FamilyNode) SetWife() and I'll look at AddChild() after that.
While I'm working on this, I'm finding the need to duplicate the pattern of
fmt.Sprintf("@%s@", node.Pointer()) in various places.
So a) okay if I tackle this issue with adding the FAMS/FAMC in the individual nodes?
and b) I'm wondering as part of working on this, if it is worthwhile to add another method that return a node pointer pre-formatted with the @ signs? Something like:
// Identifier returns the "@...@" identifier for the node; empty string if the node is nil
func (node *SimpleNode) Identifier() string {
if node == nil {
return ""
}
return fmt.Sprintf("@%s@", node.pointer)
}
I've been working on doing some simple GEDCOM file creation and I was noticing that with routines like
AddFamilyWithHusbandAndWife()
I wasn't ending up with FAMS nodes on the individuals. (Compare F6 at http://wiki-en.genealogy.net/GEDCOM/FAM-Tag#Agreements_for_FAM)I'm working on a pull request to add that support initially to
(node *FamilyNode) SetHusband()
and(node *FamilyNode) SetWife()
and I'll look atAddChild()
after that.While I'm working on this, I'm finding the need to duplicate the pattern of
fmt.Sprintf("@%s@", node.Pointer())
in various places.So a) okay if I tackle this issue with adding the FAMS/FAMC in the individual nodes?
and b) I'm wondering as part of working on this, if it is worthwhile to add another method that return a node pointer pre-formatted with the @ signs? Something like: