In .:
* src/Filters/Rules/Family/Makefile.am (pkgdata_PYTHON): Ship new file. * src/Filters/Rules/Family/_MemberBase.py: Add new module. In po: svn: r7136
This commit is contained in:
parent
f29fb679f3
commit
dd41a8a651
@ -1,4 +1,6 @@
|
|||||||
2006-08-05 Alex Roitman <shura@gramps-project.org>
|
2006-08-05 Alex Roitman <shura@gramps-project.org>
|
||||||
|
* src/Filters/Rules/Family/Makefile.am (pkgdata_PYTHON): Ship new file.
|
||||||
|
* src/Filters/Rules/Family/_MemberBase.py: Add new module.
|
||||||
* src/Filters/SideBar/_PersonSidebarFilter.py: Minor changes.
|
* src/Filters/SideBar/_PersonSidebarFilter.py: Minor changes.
|
||||||
* src/Filters/SideBar/_FamilySidebarFilter.py: Add father, mother,
|
* src/Filters/SideBar/_FamilySidebarFilter.py: Add father, mother,
|
||||||
and child search options.
|
and child search options.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
2006-08-05 Alex Roitman <shura@gramps-project.org>
|
2006-08-05 Alex Roitman <shura@gramps-project.org>
|
||||||
* POTFILES.in: Add new files.
|
* POTFILES.in: Add new files.
|
||||||
|
|
||||||
2006-08-04 Alex Roitman <shura@gramps-project.org>
|
2006-08-04 Alex Roitman <shura@gramps-project.org>
|
||||||
* POTFILES.in: Unlist plugins that are not shipped.
|
* POTFILES.in: Unlist plugins that are not shipped.
|
||||||
Add new files.
|
Add new files.
|
||||||
|
@ -506,6 +506,7 @@ src/Filters/Rules/Family/_ChildHasNameOf.py
|
|||||||
src/Filters/Rules/Family/_SearchFatherName.py
|
src/Filters/Rules/Family/_SearchFatherName.py
|
||||||
src/Filters/Rules/Family/_SearchChildName.py
|
src/Filters/Rules/Family/_SearchChildName.py
|
||||||
src/Filters/Rules/Family/_SearchMotherName.py
|
src/Filters/Rules/Family/_SearchMotherName.py
|
||||||
|
src/Filters/Rules/Family/_MemberBase.py
|
||||||
|
|
||||||
# Filters.Rules.Event package
|
# Filters.Rules.Event package
|
||||||
src/Filters/Rules/Event/_MatchesFilter.py
|
src/Filters/Rules/Event/_MatchesFilter.py
|
||||||
|
@ -20,9 +20,10 @@ pkgdata_PYTHON = \
|
|||||||
_MotherHasIdOf.py\
|
_MotherHasIdOf.py\
|
||||||
_ChildHasNameOf.py\
|
_ChildHasNameOf.py\
|
||||||
_ChildHasIdOf.py\
|
_ChildHasIdOf.py\
|
||||||
_SearchFatherName\
|
_SearchFatherName.py\
|
||||||
_SearchMotherName\
|
_SearchMotherName.py\
|
||||||
_SearchChildName
|
_SearchChildName.py\
|
||||||
|
_MemberBase.py
|
||||||
|
|
||||||
|
|
||||||
pkgpyexecdir = @pkgpyexecdir@/Filters/Rules/Family
|
pkgpyexecdir = @pkgpyexecdir@/Filters/Rules/Family
|
||||||
|
@ -33,6 +33,7 @@ from gettext import gettext as _
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
from Filters.Rules import HasGrampsId
|
from Filters.Rules import HasGrampsId
|
||||||
|
from _MemberBase import child_base
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -47,10 +48,5 @@ class ChildHasIdOf(HasGrampsId):
|
|||||||
description = _("Matches familis where child has a specified "
|
description = _("Matches familis where child has a specified "
|
||||||
"GRAMPS ID")
|
"GRAMPS ID")
|
||||||
category = _('Child filters')
|
category = _('Child filters')
|
||||||
|
base_class = HasGrampsId
|
||||||
def apply(self,db,family):
|
apply = child_base
|
||||||
for child_ref in family.get_child_ref_list():
|
|
||||||
child = db.get_person_from_handle(child_ref.ref)
|
|
||||||
if HasGrampsId.apply(self,db,child):
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
@ -33,6 +33,7 @@ from gettext import gettext as _
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
from Filters.Rules.Person import HasNameOf
|
from Filters.Rules.Person import HasNameOf
|
||||||
|
from _MemberBase import child_base
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -46,10 +47,5 @@ class ChildHasNameOf(HasNameOf):
|
|||||||
description = _("Matches familis where child has a specified "
|
description = _("Matches familis where child has a specified "
|
||||||
"(partial) name")
|
"(partial) name")
|
||||||
category = _('Child filters')
|
category = _('Child filters')
|
||||||
|
base_class = HasNameOf
|
||||||
def apply(self,db,family):
|
apply = child_base
|
||||||
for child_ref in family.get_child_ref_list():
|
|
||||||
child = db.get_person_from_handle(child_ref.ref)
|
|
||||||
if HasNameOf.apply(self,db,child):
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
@ -33,6 +33,7 @@ from gettext import gettext as _
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
from Filters.Rules import HasGrampsId
|
from Filters.Rules import HasGrampsId
|
||||||
|
from _MemberBase import father_base
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -47,11 +48,5 @@ class FatherHasIdOf(HasGrampsId):
|
|||||||
description = _("Matches familis whose father has a specified "
|
description = _("Matches familis whose father has a specified "
|
||||||
"GRAMPS ID")
|
"GRAMPS ID")
|
||||||
category = _('Father filters')
|
category = _('Father filters')
|
||||||
|
base_class = HasGrampsId
|
||||||
def apply(self,db,family):
|
apply = father_base
|
||||||
father_handle = family.get_father_handle()
|
|
||||||
father = db.get_person_from_handle(father_handle)
|
|
||||||
if father:
|
|
||||||
return HasGrampsId.apply(self,db,father)
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
@ -33,6 +33,7 @@ from gettext import gettext as _
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
from Filters.Rules.Person import HasNameOf
|
from Filters.Rules.Person import HasNameOf
|
||||||
|
from _MemberBase import father_base
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -46,11 +47,5 @@ class FatherHasNameOf(HasNameOf):
|
|||||||
description = _("Matches familis whose father has a specified "
|
description = _("Matches familis whose father has a specified "
|
||||||
"(partial) name")
|
"(partial) name")
|
||||||
category = _('Father filters')
|
category = _('Father filters')
|
||||||
|
base_class = HasNameOf
|
||||||
def apply(self,db,family):
|
apply = father_base
|
||||||
father_handle = family.get_father_handle()
|
|
||||||
father = db.get_person_from_handle(father_handle)
|
|
||||||
if father:
|
|
||||||
return HasNameOf.apply(self,db,father)
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
57
src/Filters/Rules/Family/_MemberBase.py
Normal file
57
src/Filters/Rules/Family/_MemberBase.py
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
#
|
||||||
|
# Gramps - a GTK+/GNOME based genealogy program
|
||||||
|
#
|
||||||
|
# Copyright (C) 2002-2006 Donald N. Allingham
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
"""
|
||||||
|
Set of wrappers for family filter rules based on personal rules.
|
||||||
|
|
||||||
|
Any rule that matches family based on personal rule applied
|
||||||
|
to father, mather, or any child, just needs to do two things:
|
||||||
|
1. Set the class attribute 'base_class' to the personal rule
|
||||||
|
2. Set apply method to be an appropriate wrapper below
|
||||||
|
Example:
|
||||||
|
in the class body, outside any method:
|
||||||
|
base_class = SearchName
|
||||||
|
apply = child_base
|
||||||
|
"""
|
||||||
|
|
||||||
|
def father_base(self,db,family):
|
||||||
|
father_handle = family.get_father_handle()
|
||||||
|
father = db.get_person_from_handle(father_handle)
|
||||||
|
if father:
|
||||||
|
return self.base_class.apply(self,db,father)
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def mother_base(self,db,family):
|
||||||
|
mother_handle = family.get_mother_handle()
|
||||||
|
mother = db.get_person_from_handle(mother_handle)
|
||||||
|
if mother:
|
||||||
|
return self.base_class.apply(self,db,mother)
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def child_base(self,db,family):
|
||||||
|
for child_ref in family.get_child_ref_list():
|
||||||
|
child = db.get_person_from_handle(child_ref.ref)
|
||||||
|
if self.base_class.apply(self,db,child):
|
||||||
|
return True
|
||||||
|
return False
|
@ -33,6 +33,7 @@ from gettext import gettext as _
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
from Filters.Rules import HasGrampsId
|
from Filters.Rules import HasGrampsId
|
||||||
|
from _MemberBase import mother_base
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -47,11 +48,5 @@ class MotherHasIdOf(HasGrampsId):
|
|||||||
description = _("Matches familis whose mother has a specified "
|
description = _("Matches familis whose mother has a specified "
|
||||||
"GRAMPS ID")
|
"GRAMPS ID")
|
||||||
category = _('Mother filters')
|
category = _('Mother filters')
|
||||||
|
base_class = HasGrampsId
|
||||||
def apply(self,db,family):
|
apply = mother_base
|
||||||
mother_handle = family.get_mother_handle()
|
|
||||||
mother = db.get_person_from_handle(mother_handle)
|
|
||||||
if mother:
|
|
||||||
return HasGrampsId.apply(self,db,mother)
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
@ -33,6 +33,7 @@ from gettext import gettext as _
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
from Filters.Rules.Person import HasNameOf
|
from Filters.Rules.Person import HasNameOf
|
||||||
|
from _MemberBase import mother_base
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -46,11 +47,5 @@ class MotherHasNameOf(HasNameOf):
|
|||||||
description = _("Matches familis whose mother has a specified "
|
description = _("Matches familis whose mother has a specified "
|
||||||
"(partial) name")
|
"(partial) name")
|
||||||
category = _('Mother filters')
|
category = _('Mother filters')
|
||||||
|
base_class = HasNameOf
|
||||||
def apply(self,db,family):
|
apply = mother_base
|
||||||
mother_handle = family.get_mother_handle()
|
|
||||||
mother = db.get_person_from_handle(mother_handle)
|
|
||||||
if mother:
|
|
||||||
return HasNameOf.apply(self,db,mother)
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
@ -33,6 +33,7 @@ from gettext import gettext as _
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
from Filters.Rules.Person import SearchName
|
from Filters.Rules.Person import SearchName
|
||||||
|
from _MemberBase import child_base
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -46,10 +47,5 @@ class SearchChildName(SearchName):
|
|||||||
description = _("Matches families where any child has a specified "
|
description = _("Matches families where any child has a specified "
|
||||||
"(partial) name")
|
"(partial) name")
|
||||||
category = _('Child filters')
|
category = _('Child filters')
|
||||||
|
base_class = SearchName
|
||||||
def apply(self,db,family):
|
apply = child_base
|
||||||
for child_ref in family.get_child_ref_list():
|
|
||||||
child = db.get_person_from_handle(child_ref.ref)
|
|
||||||
if SearchName.apply(self,db,child):
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
@ -33,6 +33,7 @@ from gettext import gettext as _
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
from Filters.Rules.Person import SearchName
|
from Filters.Rules.Person import SearchName
|
||||||
|
from _MemberBase import father_base
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -46,11 +47,5 @@ class SearchFatherName(SearchName):
|
|||||||
description = _("Matches families whose father has a specified "
|
description = _("Matches families whose father has a specified "
|
||||||
"(partial) name")
|
"(partial) name")
|
||||||
category = _('Father filters')
|
category = _('Father filters')
|
||||||
|
base_class = SearchName
|
||||||
def apply(self,db,family):
|
apply = father_base
|
||||||
father_handle = family.get_father_handle()
|
|
||||||
father = db.get_person_from_handle(father_handle)
|
|
||||||
if father:
|
|
||||||
return SearchName.apply(self,db,father)
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
@ -33,6 +33,7 @@ from gettext import gettext as _
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
from Filters.Rules.Person import SearchName
|
from Filters.Rules.Person import SearchName
|
||||||
|
from _MemberBase import mother_base
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -46,11 +47,5 @@ class SearchMotherName(SearchName):
|
|||||||
description = _("Matches families whose mother has a specified "
|
description = _("Matches families whose mother has a specified "
|
||||||
"(partial) name")
|
"(partial) name")
|
||||||
category = _('Mother filters')
|
category = _('Mother filters')
|
||||||
|
base_class = SearchName
|
||||||
def apply(self,db,family):
|
apply = mother_base
|
||||||
mother_handle = family.get_mother_handle()
|
|
||||||
mother = db.get_person_from_handle(mother_handle)
|
|
||||||
if mother:
|
|
||||||
return SearchName.apply(self,db,mother)
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
Loading…
Reference in New Issue
Block a user