* src/MergeData.py: preserve most data while merging families
* src/PeopleView.py: allow multiple selection in people list * src/ReadGedcom.py: keep source information in families * src/RelLib.py svn: r4102
This commit is contained in:
parent
c24d8ba944
commit
ca8be6788b
@ -1,3 +1,6 @@
|
|||||||
|
2005-02-27 Julio Sanchez <jsanchez@users.sourceforge.net>
|
||||||
|
* src/MergeData.py: partial set of changes to handle new API
|
||||||
|
|
||||||
2005-02-27 Julio Sanchez <jsanchez@users.sourceforge.net>
|
2005-02-27 Julio Sanchez <jsanchez@users.sourceforge.net>
|
||||||
* src/MergeData.py: preserve most data while merging families
|
* src/MergeData.py: preserve most data while merging families
|
||||||
* src/PeopleView.py: allow multiple selection in people list
|
* src/PeopleView.py: allow multiple selection in people list
|
||||||
|
@ -84,27 +84,48 @@ class MergePeople:
|
|||||||
_("Merge %s and %s") % (fname,mname),
|
_("Merge %s and %s") % (fname,mname),
|
||||||
_("Merge people"))
|
_("Merge people"))
|
||||||
|
|
||||||
f1 = person1.get_main_parents_family_handle()
|
f1_handle = person1.get_main_parents_family_handle()
|
||||||
f2 = person2.get_main_parents_family_handle()
|
f2_handle = person2.get_main_parents_family_handle()
|
||||||
|
|
||||||
name1 = NameDisplay.displayer.display(person1)
|
name1 = NameDisplay.displayer.display(person1)
|
||||||
death1 = person1.get_death().get_date()
|
death1_handle = person1.get_death_handle()
|
||||||
dplace1 = self.place_name(person1.get_death())
|
if death1_handle:
|
||||||
birth1 = person1.get_birth().get_date()
|
death1 = death1_handle.get_date()
|
||||||
bplace1 = self.place_name(person1.get_birth())
|
dplace1 = self.place_name(death1_handle)
|
||||||
|
else:
|
||||||
|
death1 = ""
|
||||||
|
dplace1 = ""
|
||||||
|
birth1_handle = person1.get_birth_handle()
|
||||||
|
if birth1_handle:
|
||||||
|
birth1 = birth1_handle.get_date()
|
||||||
|
bplace1 = self.place_name(birth1_handle)
|
||||||
|
else:
|
||||||
|
birth1 = ""
|
||||||
|
bplace1 = ""
|
||||||
|
|
||||||
name2 = NameDisplay.displayer.display(person2)
|
name2 = NameDisplay.displayer.display(person2)
|
||||||
death2 = person2.get_death().get_date()
|
death2_handle = person2.get_death_handle()
|
||||||
dplace2 = self.place_name(person2.get_death())
|
if death2_handle:
|
||||||
birth2 = person2.get_birth().get_date()
|
death2 = death2_handle.get_date()
|
||||||
bplace2 = self.place_name(person2.get_birth())
|
dplace2 = self.place_name(death2_handle)
|
||||||
|
else:
|
||||||
|
death2 = ""
|
||||||
|
dplace2 = ""
|
||||||
|
birth2_handle = person2.get_birth_handle()
|
||||||
|
if birth2_handle:
|
||||||
|
birth2 = birth2_handle.get_date()
|
||||||
|
bplace2 = self.place_name(birth2_handle)
|
||||||
|
else:
|
||||||
|
birth2 = ""
|
||||||
|
bplace2 = ""
|
||||||
|
|
||||||
if f2 and not f1:
|
if f2_handle and not f1_handle:
|
||||||
self.glade.get_widget("bfather2").set_active(1)
|
self.glade.get_widget("bfather2").set_active(1)
|
||||||
else:
|
else:
|
||||||
self.glade.get_widget("bfather1").set_active(1)
|
self.glade.get_widget("bfather1").set_active(1)
|
||||||
|
|
||||||
if f1:
|
if f1_handle:
|
||||||
|
f1 = self.db.get_person_from_handle(f1_handle)
|
||||||
father1 = name_of(f1.get_father_handle())
|
father1 = name_of(f1.get_father_handle())
|
||||||
mother1 = name_of(f1.get_mother_handle())
|
mother1 = name_of(f1.get_mother_handle())
|
||||||
else:
|
else:
|
||||||
@ -112,14 +133,15 @@ class MergePeople:
|
|||||||
mother1 = ""
|
mother1 = ""
|
||||||
|
|
||||||
if f2:
|
if f2:
|
||||||
|
f2 = self.db.get_person_from_handle(f2_handle)
|
||||||
father2 = name_of(f2.get_father_handle())
|
father2 = name_of(f2.get_father_handle())
|
||||||
mother2 = name_of(f2.get_mother_handle())
|
mother2 = name_of(f2.get_mother_handle())
|
||||||
else:
|
else:
|
||||||
father2 = ""
|
father2 = ""
|
||||||
mother2 = ""
|
mother2 = ""
|
||||||
|
|
||||||
self.set_field(self.glade.get_widget("id1_text"),person1.get_handle())
|
self.set_field(self.glade.get_widget("id1_text"),person1.get_gramps_id())
|
||||||
self.set_field(self.glade.get_widget("id2_text"),person2.get_handle())
|
self.set_field(self.glade.get_widget("id2_text"),person2.get_gramps_id())
|
||||||
self.set_field(self.glade.get_widget("name1_text"),name1)
|
self.set_field(self.glade.get_widget("name1_text"),name1)
|
||||||
self.set_field(self.glade.get_widget("name2_text"),name2)
|
self.set_field(self.glade.get_widget("name2_text"),name2)
|
||||||
|
|
||||||
@ -184,17 +206,23 @@ class MergePeople:
|
|||||||
def build_spouse_list(self,person,widget):
|
def build_spouse_list(self,person,widget):
|
||||||
|
|
||||||
widget.clear()
|
widget.clear()
|
||||||
for fam in person.get_family_handle_list():
|
for fam_handle in person.get_family_handle_list():
|
||||||
|
fam = self.db.get_family_from_handle(fam_handle)
|
||||||
if person.get_gender() == RelLib.Person.MALE:
|
if person.get_gender() == RelLib.Person.MALE:
|
||||||
spouse = fam.get_mother_handle()
|
spouse_handle = fam.get_mother_handle()
|
||||||
else:
|
else:
|
||||||
spouse = fam.get_father_handle()
|
spouse_handle = fam.get_father_handle()
|
||||||
|
|
||||||
|
if spouse_handle:
|
||||||
|
spouse = self.db.get_person_from_handle(spouse_handle)
|
||||||
|
else:
|
||||||
|
spouse = None
|
||||||
|
|
||||||
if spouse == None:
|
if spouse == None:
|
||||||
name = "unknown"
|
name = "unknown"
|
||||||
else:
|
else:
|
||||||
sname = NameDisplay.displayer.display(spouse)
|
sname = NameDisplay.displayer.display(spouse)
|
||||||
name = "%s [%s]" % (sname,spouse.get_handle())
|
name = "%s [%s]" % (sname,spouse.get_gramps_id())
|
||||||
widget.add([name])
|
widget.add([name])
|
||||||
|
|
||||||
def set_field(self,widget,value):
|
def set_field(self,widget,value):
|
||||||
@ -296,26 +324,26 @@ class MergePeople:
|
|||||||
alt = self.glade.get_widget("altbirth").get_active()
|
alt = self.glade.get_widget("altbirth").get_active()
|
||||||
if self.glade.get_widget("bbirth2").get_active():
|
if self.glade.get_widget("bbirth2").get_active():
|
||||||
if alt:
|
if alt:
|
||||||
event = self.p1.get_birth()
|
event = self.p1.get_birth_handle()
|
||||||
event.set_name("Alternate Birth")
|
event.set_name("Alternate Birth")
|
||||||
self.p1.add_event(event)
|
self.p1.add_event(event)
|
||||||
self.p1.set_birth(self.p2.get_birth())
|
self.p1.set_birth(self.p2.get_birth_handle())
|
||||||
else:
|
else:
|
||||||
if alt:
|
if alt:
|
||||||
event = self.p2.get_birth()
|
event = self.p2.get_birth_handle()
|
||||||
event.set_name("Alternate Birth")
|
event.set_name("Alternate Birth")
|
||||||
self.p1.add_event(event)
|
self.p1.add_event(event)
|
||||||
|
|
||||||
alt = self.glade.get_widget("altdeath").get_active()
|
alt = self.glade.get_widget("altdeath").get_active()
|
||||||
if self.glade.get_widget("bbirth2").get_active():
|
if self.glade.get_widget("bbirth2").get_active():
|
||||||
if alt:
|
if alt:
|
||||||
event = self.p1.get_death()
|
event = self.p1.get_death_handle()
|
||||||
event.set_name("Alternate Death")
|
event.set_name("Alternate Death")
|
||||||
self.p1.add_event(event)
|
self.p1.add_event(event)
|
||||||
self.p1.set_death(self.p2.get_death())
|
self.p1.set_death(self.p2.get_death_handle())
|
||||||
else:
|
else:
|
||||||
if alt:
|
if alt:
|
||||||
event = self.p2.get_death()
|
event = self.p2.get_death_handle()
|
||||||
event.set_name("Alternate Death")
|
event.set_name("Alternate Death")
|
||||||
self.p1.add_event(event)
|
self.p1.add_event(event)
|
||||||
|
|
||||||
@ -546,10 +574,10 @@ def compare_people(p1,p2):
|
|||||||
if chance == -1.0 :
|
if chance == -1.0 :
|
||||||
return -1.0
|
return -1.0
|
||||||
|
|
||||||
birth1 = p1.get_birth()
|
birth1 = p1.get_birth_handle()
|
||||||
death1 = p1.get_death()
|
death1 = p1.get_death_handle()
|
||||||
birth2 = p2.get_birth()
|
birth2 = p2.get_birth_handle()
|
||||||
death2 = p2.get_death()
|
death2 = p2.get_death_handle()
|
||||||
|
|
||||||
value = date_match(birth1.get_date_object(),birth2.get_date_object())
|
value = date_match(birth1.get_date_object(),birth2.get_date_object())
|
||||||
if value == -1.0 :
|
if value == -1.0 :
|
||||||
@ -933,7 +961,7 @@ class MergePlaces:
|
|||||||
# loop through people, changing event references to P2 to P1
|
# loop through people, changing event references to P2 to P1
|
||||||
for key in self.db.get_person_handles(sort_handles=False):
|
for key in self.db.get_person_handles(sort_handles=False):
|
||||||
p = self.db.get_person_from_handle(key)
|
p = self.db.get_person_from_handle(key)
|
||||||
for event in [p.get_birth(), p.get_death()] + p.get_event_list():
|
for event in [p.get_birth_handle(), p.get_death_handle()] + p.get_event_list():
|
||||||
if event.get_place_handle() == self.p2:
|
if event.get_place_handle() == self.p2:
|
||||||
event.set_place_handle(self.p1)
|
event.set_place_handle(self.p1)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user