* src/GenericFilter.py (PersonWithIncompleteEvent,
FamilyWithIncompleteEvent, ProbablyAlive,PeoplePrivate): Add filter rules. * src/gramps_main.py (init_filters): Add new filters to the menu. svn: r4159
This commit is contained in:
parent
2e6c2f1c10
commit
33245ae20c
@ -1,3 +1,9 @@
|
||||
2005-03-11 Martin Hawlisch <Martin.Hawlisch@gmx.de>
|
||||
* src/GenericFilter.py (PersonWithIncompleteEvent,
|
||||
FamilyWithIncompleteEvent, ProbablyAlive,PeoplePrivate):
|
||||
Add filter rules.
|
||||
* src/gramps_main.py (init_filters): Add new filters to the menu.
|
||||
|
||||
2005-03-10 Martin Hawlisch <Martin.Hawlisch@gmx.de>
|
||||
* src/GenericFilter.py (IsBookmarked,IncompleteNames,
|
||||
HaveAltFamilies,HavePhotos,HaveChildren,NeverMarried,
|
||||
|
@ -58,6 +58,7 @@ import DateHandler
|
||||
import NameDisplay
|
||||
from TransTable import TransTable
|
||||
from Utils import for_each_ancestor
|
||||
from Utils import probably_alive
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -1674,6 +1675,119 @@ class NoBirthdate(Rule):
|
||||
return 1
|
||||
return 0
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
# "People with incomplete events"
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
|
||||
class PersonWithIncompleteEvent(Rule):
|
||||
"""People with incomplete events"""
|
||||
|
||||
labels = []
|
||||
|
||||
def name(self):
|
||||
return 'People with incomplete events'
|
||||
|
||||
def description(self):
|
||||
return _("Matches persons with missing date or place in an event")
|
||||
|
||||
def category(self):
|
||||
return _('Event filters')
|
||||
|
||||
|
||||
def apply(self,db,p_id):
|
||||
p = db.get_person_from_handle(p_id)
|
||||
for event_handle in p.get_event_list() + [p.get_birth_handle(), p.get_death_handle()]:
|
||||
event = db.get_event_from_handle(event_handle)
|
||||
if event:
|
||||
if not event.get_place_handle():
|
||||
return 1
|
||||
if not event.get_date_object():
|
||||
return 1
|
||||
return 0
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
# "Families with incomplete events"
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
|
||||
class FamilyWithIncompleteEvent(Rule):
|
||||
"""Families with incomplete events"""
|
||||
|
||||
labels = []
|
||||
|
||||
def name(self):
|
||||
return 'Families with incomplete events'
|
||||
|
||||
def description(self):
|
||||
return _("Matches persons with missing date or place in an event of the family")
|
||||
|
||||
def category(self):
|
||||
return _('Event filters')
|
||||
|
||||
|
||||
def apply(self,db,p_id):
|
||||
p = db.get_person_from_handle(p_id)
|
||||
for family_handle in p.get_family_handle_list():
|
||||
family = db.get_family_from_handle(family_handle)
|
||||
for event_handle in family.get_event_list():
|
||||
event = db.get_event_from_handle(event_handle)
|
||||
if event:
|
||||
if not event.get_place_handle():
|
||||
return 1
|
||||
if not event.get_date_object():
|
||||
return 1
|
||||
return 0
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
# "People probably alive"
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
|
||||
class ProbablyAlive(Rule):
|
||||
"""People probably alive"""
|
||||
|
||||
labels = []
|
||||
|
||||
def name(self):
|
||||
return 'People probably alive'
|
||||
|
||||
def description(self):
|
||||
return _("Matches persons without indications of death that are not too old")
|
||||
|
||||
def category(self):
|
||||
return _('General filters')
|
||||
|
||||
|
||||
def apply(self,db,p_id):
|
||||
p = db.get_person_from_handle(p_id)
|
||||
return probably_alive(p,db)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
# "People marked private"
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
|
||||
class PeoplePrivate(Rule):
|
||||
"""People marked private"""
|
||||
|
||||
labels = []
|
||||
|
||||
def name(self):
|
||||
return 'People marked private'
|
||||
|
||||
def description(self):
|
||||
return _("Matches persons that are indicated as private")
|
||||
|
||||
def category(self):
|
||||
return _('General filters')
|
||||
|
||||
|
||||
def apply(self,db,p_id):
|
||||
p = db.get_person_from_handle(p_id)
|
||||
return p.get_privacy()
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# GenericFilter
|
||||
@ -1853,7 +1967,10 @@ tasks = {
|
||||
unicode(_("People with no marriage records")) : NeverMarried,
|
||||
unicode(_("People with multiple marriage records")): MultipleMarriages,
|
||||
unicode(_("People without a birth date")) : NoBirthdate,
|
||||
|
||||
unicode(_("People with incomplete events")) : PersonWithIncompleteEvent,
|
||||
unicode(_("Families with incomplete events")) : FamilyWithIncompleteEvent,
|
||||
unicode(_("People probably alive")) : ProbablyAlive,
|
||||
unicode(_("People marked private")) : PeoplePrivate,
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
|
@ -912,14 +912,34 @@ class Gramps:
|
||||
all.add_rule(GenericFilter.NeverMarried([]))
|
||||
filter_list.append(all)
|
||||
|
||||
all = GenericFilter.GenericFilter()
|
||||
all.set_name(_("People with multiple marriage records"))
|
||||
all.add_rule(GenericFilter.MultipleMarriages([]))
|
||||
filter_list.append(all)
|
||||
|
||||
all = GenericFilter.GenericFilter()
|
||||
all.set_name(_("People without a birth date"))
|
||||
all.add_rule(GenericFilter.NoBirthdate([]))
|
||||
filter_list.append(all)
|
||||
|
||||
all = GenericFilter.GenericFilter()
|
||||
all.set_name(_("People with multiple marriage records"))
|
||||
all.add_rule(GenericFilter.MultipleMarriages([]))
|
||||
all.set_name(_("People with incomplete events"))
|
||||
all.add_rule(GenericFilter.PersonWithIncompleteEvent([]))
|
||||
filter_list.append(all)
|
||||
|
||||
all = GenericFilter.GenericFilter()
|
||||
all.set_name(_("Families with incomplete events"))
|
||||
all.add_rule(GenericFilter.FamilyWithIncompleteEvent([]))
|
||||
filter_list.append(all)
|
||||
|
||||
all = GenericFilter.GenericFilter()
|
||||
all.set_name(_("People probably alive"))
|
||||
all.add_rule(GenericFilter.ProbablyAlive([]))
|
||||
filter_list.append(all)
|
||||
|
||||
all = GenericFilter.GenericFilter()
|
||||
all.set_name(_("People marked private"))
|
||||
all.add_rule(GenericFilter.PeoplePrivate([]))
|
||||
filter_list.append(all)
|
||||
|
||||
self.filter_model = GenericFilter.FilterStore(filter_list)
|
||||
|
Loading…
Reference in New Issue
Block a user