* src/GrampsDb/_GrampsBSDDB.py (gramps_upgrade_9): Convert upgrade
to using new birth/death reference approach. * src/GrampsDb/_GrampsDbBase.py (commit_person): Simplify updating of the custom event roles. * src/GrampsDb/_WriteXML.py (write_person): Use methods to get birth/death ref, not raw attributes. * src/RelLib/_Person.py: Convert to using birth and death ref indices. birth/deat reference; use methods to get birth/death ref, not raw attributes. svn: r6762
This commit is contained in:
@@ -1439,12 +1439,14 @@ class GrampsBSDDB(GrampsDbBase,UpdateCallback):
|
||||
if birth_handle:
|
||||
event_ref = EventRef()
|
||||
event_ref.ref = birth_handle
|
||||
person.birth_ref = event_ref
|
||||
person.event_ref_list.append(event_ref)
|
||||
person.birth_ref_index = len(person.event_ref_list) - 1
|
||||
|
||||
if death_handle:
|
||||
event_ref = EventRef()
|
||||
event_ref.ref = death_handle
|
||||
person.death_ref = event_ref
|
||||
person.event_ref_list.append(event_ref)
|
||||
person.death_ref_index = len(person.event_ref_list) - 1
|
||||
|
||||
for event_handle in event_list:
|
||||
event_ref = EventRef()
|
||||
|
@@ -453,12 +453,9 @@ class GrampsDbBase(GrampsDBCallback):
|
||||
if person.marker.is_custom():
|
||||
self.marker_names.add(str(person.marker))
|
||||
|
||||
eref_list = [eref for eref in (person.event_ref_list
|
||||
+ [person.birth_ref,person.death_ref])
|
||||
if eref]
|
||||
|
||||
self.event_role_names.update(
|
||||
[str(eref.role) for eref in eref_list if eref.role.is_custom()])
|
||||
self.event_role_names.update([str(eref.role)
|
||||
for eref in person.event_ref_list
|
||||
if eref.role.is_custom()])
|
||||
|
||||
self.name_types.update([str(name.type)
|
||||
for name in ([person.primary_name]
|
||||
|
@@ -773,11 +773,11 @@ class GrampsParser(UpdateCallback):
|
||||
elif self.person:
|
||||
event.personal = True
|
||||
if (event.type == RelLib.EventType.BIRTH) \
|
||||
and (self.person.birth_ref == None):
|
||||
self.person.birth_ref = self.eventref
|
||||
and (self.person.get_birth_ref() == None):
|
||||
self.person.set_birth_ref(self.eventref)
|
||||
elif (event.type == RelLib.EventType.DEATH) \
|
||||
and (self.person.death_ref == None):
|
||||
self.person.death_ref = self.eventref
|
||||
and (self.person.get_death_ref() == None):
|
||||
self.person.set_death_ref(self.eventref)
|
||||
else:
|
||||
self.person.add_event_ref(self.eventref)
|
||||
|
||||
|
@@ -411,8 +411,8 @@ class XmlWriter(UpdateCallback):
|
||||
for name in person.get_alternate_names():
|
||||
self.dump_name(name,True,index+1)
|
||||
|
||||
self.dump_event_ref(person.birth_ref,index+1)
|
||||
self.dump_event_ref(person.death_ref,index+1)
|
||||
self.dump_event_ref(person.get_birth_ref(),index+1)
|
||||
self.dump_event_ref(person.get_death_ref(),index+1)
|
||||
for event_ref in person.get_event_ref_list():
|
||||
self.dump_event_ref(event_ref,index+1)
|
||||
|
||||
|
Reference in New Issue
Block a user