* src/plugins/WebPage.py: Convert to ids. Call probably_alive
with db as an argument. Move by_date inside the class (needs db). * src/RelLib.py: Correct probably_alive to ids. svn: r3003
This commit is contained in:
parent
d2a9753e1c
commit
ef1928e972
@ -5,7 +5,9 @@
|
|||||||
|
|
||||||
* src/GenericFilter.py: Convert to ids.
|
* src/GenericFilter.py: Convert to ids.
|
||||||
* src/plugins/FilterEditor.py: Convert to ids.
|
* src/plugins/FilterEditor.py: Convert to ids.
|
||||||
* src/plugins/WebPage.py: Convert to ids.
|
* src/plugins/WebPage.py: Convert to ids. Call probably_alive
|
||||||
|
with db as an argument. Move by_date inside the class (needs db).
|
||||||
|
* src/RelLib.py: Correct probably_alive to ids.
|
||||||
|
|
||||||
2004-03-10 Leonid Mamtchenkov <leonid@leonid.maks.net>
|
2004-03-10 Leonid Mamtchenkov <leonid@leonid.maks.net>
|
||||||
* src/plugins/WebPage.py: Link main photo to the original.
|
* src/plugins/WebPage.py: Link main photo to the original.
|
||||||
|
@ -1489,12 +1489,14 @@ class Person(SourceNote):
|
|||||||
def get_lds_sealing(self):
|
def get_lds_sealing(self):
|
||||||
return self.lds_seal
|
return self.lds_seal
|
||||||
|
|
||||||
def probably_alive(self):
|
def probably_alive(self,db):
|
||||||
"""Returns true if the person may be alive."""
|
"""Returns true if the person may be alive."""
|
||||||
if not self.death.is_empty ():
|
if self.death_id:
|
||||||
return 0
|
return 0
|
||||||
if self.birth.get_date() != "":
|
if self.birth_id:
|
||||||
return not_too_old(self.birth.get_date_object().get_start_date())
|
birth = db.find_event_from_id(self.birth_id)
|
||||||
|
if birth.get_date() != "":
|
||||||
|
return not_too_old(birth.get_date_object().get_start_date())
|
||||||
|
|
||||||
# Neither birth nor death events are available. Try looking
|
# Neither birth nor death events are available. Try looking
|
||||||
# for descendants that were born more than a lifespan ago.
|
# for descendants that were born more than a lifespan ago.
|
||||||
@ -1503,20 +1505,26 @@ class Person(SourceNote):
|
|||||||
max_generation = 60
|
max_generation = 60
|
||||||
max_age_difference = 60
|
max_age_difference = 60
|
||||||
def descendants_too_old (person, years):
|
def descendants_too_old (person, years):
|
||||||
for family in person.get_family_id_list():
|
for family_id in person.get_family_id_list():
|
||||||
for child in family.get_child_id_list():
|
family = db.find_family_from_id(family_id)
|
||||||
if child.birth.get_date () != "":
|
for child_id in family.get_child_id_list():
|
||||||
d = SingleDate (child.birth.get_date_object ().
|
child = db.find_person_from_id(child_id)
|
||||||
|
if child.birth_id:
|
||||||
|
child_birth = db.find_event_from_id(child.birth_id)
|
||||||
|
if child_birth.get_date () != "":
|
||||||
|
d = SingleDate (child_birth.get_date_object ().
|
||||||
get_start_date ())
|
get_start_date ())
|
||||||
d.setYear (d.getYear () - years)
|
d.setYear (d.getYear () - years)
|
||||||
if not not_too_old (d):
|
if not not_too_old (d):
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
if child.death.get_date () != "":
|
if child.death_id:
|
||||||
d = SingleDate (child.death.get_date_object ().
|
child_death = db.find_event_from_id(child.death_id)
|
||||||
|
if child_death.get_date () != "":
|
||||||
|
d = SingleDate (child_death.get_date_object ().
|
||||||
get_start_date ())
|
get_start_date ())
|
||||||
if not not_too_old (d):
|
if not not_too_old (d):
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
if descendants_too_old (child, years + min_generation):
|
if descendants_too_old (child, years + min_generation):
|
||||||
return 1
|
return 1
|
||||||
@ -1526,51 +1534,63 @@ class Person(SourceNote):
|
|||||||
|
|
||||||
# What about their parents?
|
# What about their parents?
|
||||||
def parents_too_old (person, age_difference):
|
def parents_too_old (person, age_difference):
|
||||||
family = person.get_main_parents_family_id ()
|
family_id = person.get_main_parents_family_id ()
|
||||||
if family:
|
if family_id:
|
||||||
for parent in [family.get_father_id (), family.get_mother_id ()]:
|
family = db.find_family_from_id(family_id)
|
||||||
if not parent:
|
for parent_id in [family.get_father_id (), family.get_mother_id ()]:
|
||||||
|
if not parent_id:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if parent.birth.get_date () != "":
|
parent = db.find_person_from_id(parent_id)
|
||||||
d = SingleDate (parent.birth.get_date_object ().
|
if parent.birth_id:
|
||||||
|
parent_birth = db.find_event_from_id(parent.birth_id)
|
||||||
|
if parent_birth.get_date () != "":
|
||||||
|
d = SingleDate (parent.birth.get_date_object ().
|
||||||
get_start_date ())
|
get_start_date ())
|
||||||
d.setYear (d.getYear () + max_generation +
|
d.setYear (d.getYear () + max_generation +
|
||||||
age_difference)
|
age_difference)
|
||||||
if not not_too_old (d):
|
if not not_too_old (d):
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
if parent.death.get_date () != "":
|
if parent.death_id:
|
||||||
d = SingleDate (parent.death.get_date_object ().
|
parent_death = db.find_event_from_id(parent.death_id)
|
||||||
|
if parent_death.get_date () != "":
|
||||||
|
d = SingleDate (parent.death.get_date_object ().
|
||||||
get_start_date ())
|
get_start_date ())
|
||||||
d.setYear (d.getYear () + age_difference)
|
d.setYear (d.getYear () + age_difference)
|
||||||
if not not_too_old (d):
|
if not not_too_old (d):
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
if parents_too_old (self, 0):
|
if parents_too_old (self, 0):
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
# As a last resort, trying seeing if their spouse's age gives
|
# As a last resort, trying seeing if their spouse's age gives
|
||||||
# any clue.
|
# any clue.
|
||||||
for family in self.get_family_id_list ():
|
for family_id in self.get_family_id_list ():
|
||||||
for spouse in [family.get_father_id (), family.get_mother_id ()]:
|
family = db.find_family_from_id(family_id)
|
||||||
if not spouse:
|
for spouse_id in [family.get_father_id (), family.get_mother_id ()]:
|
||||||
|
if not spouse_id:
|
||||||
continue
|
continue
|
||||||
if spouse == self:
|
if spouse_id == self.id:
|
||||||
continue
|
continue
|
||||||
if spouse.birth.get_date () != "":
|
spouse = db.find_person_from_id(spouse_id)
|
||||||
d = SingleDate (spouse.birth.get_date_object().
|
if spouse.birth_id:
|
||||||
|
spouse_birth = db.find_event_from_id(spouse.birth_id)
|
||||||
|
if spouse_birth.get_date () != "":
|
||||||
|
d = SingleDate (spouse.birth.get_date_object().
|
||||||
get_start_date ())
|
get_start_date ())
|
||||||
d.setYear (d.getYear () + max_age_difference)
|
d.setYear (d.getYear () + max_age_difference)
|
||||||
if not not_too_old (d):
|
if not not_too_old (d):
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
if spouse.death.get_date () != "":
|
if spouse.death_id:
|
||||||
d = SingleDate (spouse.birth.get_date_object().
|
spouse_death = db.find_event_from_id(spouse.death_id)
|
||||||
|
if spouse_death.get_date () != "":
|
||||||
|
d = SingleDate (spouse.birth.get_date_object().
|
||||||
get_start_date ())
|
get_start_date ())
|
||||||
d.setYear (d.getYear () - min_generation)
|
d.setYear (d.getYear () - min_generation)
|
||||||
if not not_too_old (d):
|
if not not_too_old (d):
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
if parents_too_old (spouse, max_age_difference):
|
if parents_too_old (spouse, max_age_difference):
|
||||||
return 0
|
return 0
|
||||||
|
@ -70,14 +70,6 @@ _month = [
|
|||||||
|
|
||||||
_hline = " " # Everything is underlined, so use blank
|
_hline = " " # Everything is underlined, so use blank
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#------------------------------------------------------------------------
|
|
||||||
def by_date(a,b):
|
|
||||||
return Date.compare_dates(a.get_date_object(),b.get_date_object())
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# HtmlLinkDoc
|
# HtmlLinkDoc
|
||||||
@ -119,7 +111,7 @@ class IndividualPage:
|
|||||||
self.id_link = idlink
|
self.id_link = idlink
|
||||||
self.list = map
|
self.list = map
|
||||||
self.private = private
|
self.private = private
|
||||||
self.alive = person.probably_alive() and restrict
|
self.alive = person.probably_alive(db) and restrict
|
||||||
self.photos = (photos == 2) or (photos == 1 and not self.alive)
|
self.photos = (photos == 2) or (photos == 1 and not self.alive)
|
||||||
self.usecomments = not uc
|
self.usecomments = not uc
|
||||||
self.dir = dir_name
|
self.dir = dir_name
|
||||||
@ -134,6 +126,18 @@ class IndividualPage:
|
|||||||
self.doc.set_title(_("Summary of %s") % name)
|
self.doc.set_title(_("Summary of %s") % name)
|
||||||
self.doc.fix_title()
|
self.doc.fix_title()
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
def by_date(self,a_id,b_id):
|
||||||
|
if not (a_id and b_id):
|
||||||
|
return 0
|
||||||
|
a = self.db.find_event_from_id(a_id)
|
||||||
|
b = self.db.find_event_from_id(b_id)
|
||||||
|
return Date.compare_dates(a.get_date_object(),b.get_date_object())
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
@ -490,10 +494,13 @@ class IndividualPage:
|
|||||||
return
|
return
|
||||||
count = 0
|
count = 0
|
||||||
|
|
||||||
event_list = [ self.person.get_birth(), self.person.get_death() ]
|
event_id_list = [ self.person.get_birth_id(), self.person.get_death_id() ]
|
||||||
event_list = event_list + self.person.get_event_list()
|
event_id_list = event_id_list + self.person.get_event_list()
|
||||||
event_list.sort(by_date)
|
event_id_list.sort(self.by_date)
|
||||||
for event in event_list:
|
for event_id in event_id_list:
|
||||||
|
if not event_id:
|
||||||
|
continue
|
||||||
|
event = self.db.find_event_from_id(event_id)
|
||||||
if event.get_privacy():
|
if event.get_privacy():
|
||||||
continue
|
continue
|
||||||
name = _(event.get_name())
|
name = _(event.get_name())
|
||||||
@ -629,9 +636,11 @@ class IndividualPage:
|
|||||||
self.doc.end_row()
|
self.doc.end_row()
|
||||||
|
|
||||||
if not self.alive:
|
if not self.alive:
|
||||||
for event in family.get_event_list():
|
for event_id in family.get_event_list():
|
||||||
if event.get_privacy() == 0:
|
if event_id:
|
||||||
self.write_fam_fact(event)
|
event = self.db.find_event_from_id(event_id)
|
||||||
|
if event.get_privacy() == 0:
|
||||||
|
self.write_fam_fact(event)
|
||||||
|
|
||||||
child_list = family.get_child_id_list()
|
child_list = family.get_child_id_list()
|
||||||
if len(child_list) > 0:
|
if len(child_list) > 0:
|
||||||
|
Loading…
Reference in New Issue
Block a user