* 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:
Alex Roitman
2006-05-23 19:55:35 +00:00
parent 80dcaea023
commit fb1b7b3744
6 changed files with 79 additions and 107 deletions

View File

@@ -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()

View File

@@ -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]

View File

@@ -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)

View File

@@ -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)