From 8ca80428a53a0162b775e657c6df604f02116cda Mon Sep 17 00:00:00 2001 From: Doug Blank Date: Sun, 23 May 2010 05:10:11 +0000 Subject: [PATCH] added methods that protect living data from leaking out: get_person_handles, iter_person_handles, and iter_people svn: r15453 --- src/gen/proxy/living.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/gen/proxy/living.py b/src/gen/proxy/living.py index 18cd814a7..9a332a1c0 100644 --- a/src/gen/proxy/living.py +++ b/src/gen/proxy/living.py @@ -106,6 +106,39 @@ class LivingProxyDb(ProxyDbBase): family = self.__remove_living_from_family(family) return family + def iter_people(self): + """ + Protected version of iter_people + """ + for person in self.db.iter_people(): + if person and self.__is_living(person): + if self.mode == self.MODE_EXCLUDE_ALL: + person = None + else: + person = self.__restrict_person(person) + if person: + yield person + + def iter_person_handles(self): + """ + Protected version of iter_person_handles + """ + for handle in self.db.iter_person_handles(): + person = self.get_person_from_handle(handle) + if person: + yield handle + + def get_person_handles(self): + """ + Protected version of get_person_handles + """ + handles = [] + for handle in self.db.get_person_handles(): + person = self.get_person_from_handle(handle) + if person: + handles.append(handle) + return handles + def get_person_from_gramps_id(self, val): """ Finds a Person in the database from the passed GRAMPS ID.