2007-10-29 Gary Burton <gary.burton@zen.co.uk>
* src/gen/lib/person.py: reset birth and death indexes after deleting an event. Fixes #1327 svn: r9269
This commit is contained in:
parent
ee6bdfdd5e
commit
29b974160f
@ -1,3 +1,7 @@
|
|||||||
|
2007-10-29 Gary Burton <gary.burton@zen.co.uk>
|
||||||
|
* src/gen/lib/person.py: reset birth and death indexes after deleting
|
||||||
|
an event. Fixes #1327
|
||||||
|
|
||||||
2007-10-29 Douglas S. Blank <dblank@cs.brynmawr.edu>
|
2007-10-29 Douglas S. Blank <dblank@cs.brynmawr.edu>
|
||||||
* src/plugins/holidays.xml: removed SDate: use offset instead
|
* src/plugins/holidays.xml: removed SDate: use offset instead
|
||||||
|
|
||||||
|
@ -227,6 +227,10 @@ class Person(SourceBase, NoteBase, AttributeBase, MediaBase,
|
|||||||
|
|
||||||
def _remove_handle_references(self, classname, handle_list):
|
def _remove_handle_references(self, classname, handle_list):
|
||||||
if classname == 'Event':
|
if classname == 'Event':
|
||||||
|
# Keep a copy of the birth and death references
|
||||||
|
birth_ref = self.get_birth_ref()
|
||||||
|
death_ref = self.get_death_ref()
|
||||||
|
|
||||||
new_list = [ref for ref in self.event_ref_list
|
new_list = [ref for ref in self.event_ref_list
|
||||||
if ref.ref not in handle_list]
|
if ref.ref not in handle_list]
|
||||||
# If deleting removing the reference to the event
|
# If deleting removing the reference to the event
|
||||||
@ -240,6 +244,12 @@ class Person(SourceBase, NoteBase, AttributeBase, MediaBase,
|
|||||||
in handle_list):
|
in handle_list):
|
||||||
self.death_ref_index = -1
|
self.death_ref_index = -1
|
||||||
self.event_ref_list = new_list
|
self.event_ref_list = new_list
|
||||||
|
|
||||||
|
# Reset the indexes after deleting the event from even_ref_list
|
||||||
|
if (self.birth_ref_index != -1):
|
||||||
|
self.set_birth_ref(birth_ref)
|
||||||
|
if (self.death_ref_index != -1):
|
||||||
|
self.set_death_ref(birth_ref)
|
||||||
elif classname == 'Person':
|
elif classname == 'Person':
|
||||||
new_list = [ref for ref in self.person_ref_list
|
new_list = [ref for ref in self.person_ref_list
|
||||||
if ref.ref not in handle_list]
|
if ref.ref not in handle_list]
|
||||||
@ -433,7 +443,7 @@ class Person(SourceBase, NoteBase, AttributeBase, MediaBase,
|
|||||||
"""
|
"""
|
||||||
if event_ref and not isinstance(event_ref, EventRef):
|
if event_ref and not isinstance(event_ref, EventRef):
|
||||||
raise ValueError("Expecting EventRef instance")
|
raise ValueError("Expecting EventRef instance")
|
||||||
if event_ref == None:
|
if event_ref is None:
|
||||||
self.birth_ref_index = -1
|
self.birth_ref_index = -1
|
||||||
return
|
return
|
||||||
# check whether we already have this ref in the list
|
# check whether we already have this ref in the list
|
||||||
@ -456,7 +466,7 @@ class Person(SourceBase, NoteBase, AttributeBase, MediaBase,
|
|||||||
"""
|
"""
|
||||||
if event_ref and not isinstance(event_ref, EventRef):
|
if event_ref and not isinstance(event_ref, EventRef):
|
||||||
raise ValueError("Expecting EventRef instance")
|
raise ValueError("Expecting EventRef instance")
|
||||||
if event_ref == None:
|
if event_ref is None:
|
||||||
self.death_ref_index = -1
|
self.death_ref_index = -1
|
||||||
return
|
return
|
||||||
# check whether we already have this ref in the list
|
# check whether we already have this ref in the list
|
||||||
|
Loading…
Reference in New Issue
Block a user