2006-06-11 Don Allingham <don@gramps-project.org>

* src/GrampsDb/_ReadGedcom.py: fix event parsing
	* src/GramspDb/_GedcomInfo.py: fix ORDN identification



svn: r6882
This commit is contained in:
Don Allingham
2006-06-12 04:51:11 +00:00
parent 8f308bb5b4
commit 4871ba35db
3 changed files with 34 additions and 14 deletions

@ -1,3 +1,7 @@
2006-06-11 Don Allingham <don@gramps-project.org>
* src/GrampsDb/_ReadGedcom.py: fix event parsing
* src/GramspDb/_GedcomInfo.py: fix ORDN identification
2006-06-10 Don Allingham <don@gramps-project.org>
* src/GrampsDb/_ReadGedcom.py: fixes based of the gedcom torture test
* src/GrampsDb/_GedTokeys.py: fixes based of the gedcom torture test

@ -76,7 +76,7 @@ personalConstantEvents = {
RelLib.EventType.BLESS : "BLES",
RelLib.EventType.BURIAL : "BURI",
RelLib.EventType.CAUSE_DEATH : "CAUS",
RelLib.EventType.ORDINATION : "ORDI",
RelLib.EventType.ORDINATION : "ORDN",
RelLib.EventType.CENSUS : "CENS",
RelLib.EventType.CHRISTEN : "CHR" ,
RelLib.EventType.CONFIRMATION : "CONF",

@ -620,6 +620,7 @@ class GedcomParser(UpdateCallback):
TOKEN__UID : self.func_person_attr,
TOKEN_ASSO : self.func_person_asso,
TOKEN_ANCI : self.skip_record,
TOKEN_SUBM : self.skip_record,
TOKEN_DESI : self.skip_record,
TOKEN_RIN : self.skip_record,
TOKEN__TODO : self.skip_record,
@ -1464,6 +1465,7 @@ class GedcomParser(UpdateCallback):
'family' : Utils.family_name(self.family,self.db),
}
event.set_description(text)
self.db.add_event(event,self.trans)
event_ref = RelLib.EventRef()
@ -1809,6 +1811,9 @@ class GedcomParser(UpdateCallback):
name = RelLib.EventType((RelLib.EventType.CUSTOM,matches[3]))
event.set_type(name)
else:
if not ged2gramps.has_key(matches[2]) and \
not ged2fam.has_key(matches[2]) and \
matches[2] != 'Y':
event.set_description(matches[2])
def func_event_privacy(self, matches, event, level):
@ -2870,6 +2875,7 @@ class GedcomParser(UpdateCallback):
if matches[2]:
event.set_description(matches[2])
person_event_name(event,state.person)
self.db.add_event(event, self.trans)
event_ref = RelLib.EventRef()
@ -2889,6 +2895,14 @@ class GedcomParser(UpdateCallback):
state.level+1,state.note))
def func_name_alia(self,matches,state):
"""
The ALIA tag is supposed to cross reference another person.
However, we do not support this.
Some systems use the ALIA tag as an alternate NAME tag, which
is not legal in GEDCOM, but oddly enough, is easy to support.
"""
if matches[2][0] == '@':
aka = RelLib.Name()
try:
names = nameRegexp.match(matches[2]).groups()
@ -2901,6 +2915,8 @@ class GedcomParser(UpdateCallback):
if names[4]:
aka.set_suffix(names[4].strip())
state.person.add_alternate_name(aka)
else:
pass
def func_name_npfx(self,matches,state):
state.name.set_title(matches[2].strip())