* src/RelLib.py (SourceNote.replace_source_references): Properly

replace references; (MediaBase.replace_media_references): Properly
replace references.
* src/MergeData.py: Correct comments.


svn: r4632
This commit is contained in:
Alex Roitman 2005-05-19 17:22:15 +00:00
parent 6d00c95e8c
commit 6a64c9e83f
3 changed files with 22 additions and 12 deletions

View File

@ -4,6 +4,10 @@
2005-05-19 Alex Roitman <shura@gramps-project.org>
* src/MergePeople.py (merge_family_pair): Properly use handles.
* src/RelLib.py (SourceNote.replace_source_references): Properly
replace references; (MediaBase.replace_media_references): Properly
replace references.
* src/MergeData.py: Correct comments.
2005-05-19 Martin Hawlisch <Martin.Hawlisch@gmx.de>
* src/GenericFilter.py: Catch invalid input in some filters;

View File

@ -168,8 +168,8 @@ class MergePlaces:
#-------------------------------------------------------------------------
class MergeSources:
"""
Merges to places into a single place. Displays a dialog box that
allows the places to be combined into one.
Merges to sources into a single source. Displays a dialog box that
allows the sources to be combined into one.
"""
def __init__(self,database,new_handle,old_handle,update):
self.db = database
@ -291,7 +291,7 @@ class MergeSources:
event = self.db.get_event_from_handle(handle)
if event.has_source_reference(self.old_handle):
event.replace_source_references(self.old_handle,self.new_handle)
self.db.commit_event(event,self.trans)
self.db.commit_event(event,self.trans)
# sources
for handle in self.db.get_source_handles():

View File

@ -523,10 +523,13 @@ class SourceNote(BaseObject,NoteBase):
@param new_handle: The source handle to replace the old one with.
@type new_handle: str
"""
while old_handle in self.source_list:
ix = self.source_list.index(old_handle)
self.source_list[ix] = new_handle
refs_list = [ src_ref.ref for src_ref in self.source_list ]
n_replace = refs_list.count(old_handle)
for ix_replace in xrange(n_replace):
ix = refs_list.index(old_handle)
self.source_list[ix].ref = new_handle
refs_list.pop(ix)
for item in self.get_sourcref_child_list():
item.replace_source_references(old_handle,new_handle)
@ -620,9 +623,12 @@ class MediaBase:
@param new_handle: The media handle to replace the old one with.
@type new_handle: str
"""
while old_handle in self.media_list:
ix = self.media_list.index(old_handle)
self.media_list[ix] = new_handle
refs_list = [ media_ref.ref for media_ref in self.media_list ]
n_replace = refs_list.count(old_handle)
for ix_replace in xrange(n_replace):
ix = refs_list.index(old_handle)
self.media_list[ix].ref = new_handle
refs_list.pop(ix)
class DateBase:
"""
@ -2950,7 +2956,7 @@ class LdsOrd(SourceNote,DateBase,PlaceBase):
if self.place:
return [('Place',self.place)]
else:
return []
return []
def get_handle_referents(self):
"""
@ -3890,7 +3896,7 @@ class Witness(BaseObject,PrivacyBase):
if self.type == Event.ID:
return [('Person',self.val)]
else:
return []
return []
def set_type(self,type):
self.type = type