Closed ghost closed 8 years ago
As a temporary fix, you could just add something (an empty string even) to that persons burial place.
Without looking at the context (i.e. y
) it's hard to say why only one person wouldn't have a burial place set, unless of course they were the only person not to.. in which case the proper fix would likely be to alter to if 'place' in y and 'original' in y['place']
.
I have implemented the fix. Sort of odd that profile LCFZ-DXV has a 'standardized' 'place' for burial ("Box Elder, Utah, United States") but no 'original' 'place' for burial (see https://familysearch.org/platform/tree/persons/LCFZ-DXV.json). You cannot manually create this situation editing the page from the FamilySearch interface (see https://familysearch.org/tree/#view=ancestor&person=LCFZ-DXV). Notice that the current version of getmyancestors.py will not download the burial location for this profile until it is added in the original field. Thank you for pointing out this corner case.
Bizarre. I should retract my earlier comment about 'original'
being guaranteed!
I suppose it must have been an import (as in, another tool's "export to FS") - but even then really FS should make an undefined original be a copy of whatever does exist.
I've isolated one specific person that is causing getmyancestors to fail.. Wonder why we are failing on this specific person.. I can build GEDCOMs from any other family. Could there be something wrong with the individual's data in FamilySearch?
Test command:
mhs@ny1:~$ ./getmyancestors.py -a 0 -d 0 -u xxxx -p xxxx -i LCFZ-DXV -v -o rw.ged Downloading: https://familysearch.org/platform/tree/persons/LCFZ-DXV.json Status code: 200 Traceback (most recent call last): File "./getmyancestors.py", line 392, in
tree.indi[fid] = Indi(fid)
File "./getmyancestors.py", line 136, in init
self.buriplac = y['place']['original'] if 'place' in y else None
KeyError: 'original'