Use new iter_objects methods
svn: r13203
This commit is contained in:
parent
5001b771b5
commit
966d2bcd42
@ -67,10 +67,9 @@ class IsAncestorOfFilterMatch(IsAncestorOf,MatchesFilter):
|
|||||||
|
|
||||||
filt = MatchesFilter(self.list[0:1])
|
filt = MatchesFilter(self.list[0:1])
|
||||||
filt.prepare(db)
|
filt.prepare(db)
|
||||||
for person_handle in db.iter_person_handles():
|
for person in db.iter_people():
|
||||||
person = db.get_person_from_handle( person_handle)
|
if filt.apply(db, person):
|
||||||
if filt.apply (db, person):
|
self.init_ancestor_list(db, person, first)
|
||||||
self.init_ancestor_list (db,person,first)
|
|
||||||
filt.reset()
|
filt.reset()
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
|
@ -53,10 +53,9 @@ class IsChildOfFilterMatch(MatchesFilter):
|
|||||||
self.map = {}
|
self.map = {}
|
||||||
filt = MatchesFilter(self.list)
|
filt = MatchesFilter(self.list)
|
||||||
filt.prepare(db)
|
filt.prepare(db)
|
||||||
for person_handle in db.iter_person_handles():
|
for person in db.iter_people():
|
||||||
person = db.get_person_from_handle( person_handle)
|
if filt.apply(db, person):
|
||||||
if filt.apply (db, person):
|
self.init_list(person)
|
||||||
self.init_list (person)
|
|
||||||
filt.reset()
|
filt.reset()
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
|
@ -67,10 +67,9 @@ class IsDescendantOfFilterMatch(IsDescendantOf,MatchesFilter):
|
|||||||
|
|
||||||
filt = MatchesFilter(self.list[0:1])
|
filt = MatchesFilter(self.list[0:1])
|
||||||
filt.prepare(db)
|
filt.prepare(db)
|
||||||
for person_handle in db.iter_person_handles():
|
for person in db.iter_people():
|
||||||
person = db.get_person_from_handle( person_handle)
|
if filt.apply(db, person):
|
||||||
if filt.apply (db, person):
|
self.init_list(person, first)
|
||||||
self.init_list (person,first)
|
|
||||||
filt.reset()
|
filt.reset()
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
|
@ -53,10 +53,9 @@ class IsParentOfFilterMatch(MatchesFilter):
|
|||||||
self.map = {}
|
self.map = {}
|
||||||
filt = MatchesFilter(self.list)
|
filt = MatchesFilter(self.list)
|
||||||
filt.prepare(db)
|
filt.prepare(db)
|
||||||
for person_handle in db.iter_person_handles():
|
for person in db.iter_people():
|
||||||
person = db.get_person_from_handle(person_handle)
|
if filt.apply(db, person):
|
||||||
if filt.apply (db, person):
|
self.init_list(person)
|
||||||
self.init_list (person)
|
|
||||||
filt.reset()
|
filt.reset()
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
@ -68,6 +67,6 @@ class IsParentOfFilterMatch(MatchesFilter):
|
|||||||
def init_list(self,person):
|
def init_list(self,person):
|
||||||
for fam_id in person.get_parent_family_handle_list():
|
for fam_id in person.get_parent_family_handle_list():
|
||||||
fam = self.db.get_family_from_handle(fam_id)
|
fam = self.db.get_family_from_handle(fam_id)
|
||||||
for parent_id in [fam.get_father_handle (), fam.get_mother_handle ()]:
|
for parent_id in [fam.get_father_handle(), fam.get_mother_handle()]:
|
||||||
if parent_id:
|
if parent_id:
|
||||||
self.map[parent_id] = 1
|
self.map[parent_id] = 1
|
||||||
|
@ -161,22 +161,21 @@ class MergePlaces(ManagedWindow.ManagedWindow):
|
|||||||
|
|
||||||
# replace references in other objetcs
|
# replace references in other objetcs
|
||||||
# people
|
# people
|
||||||
for handle in self.db.iter_person_handles():
|
for person in self.db.iter_people():
|
||||||
person = self.db.get_person_from_handle(handle)
|
|
||||||
if person.has_handle_reference('Place',self.old_handle):
|
if person.has_handle_reference('Place',self.old_handle):
|
||||||
person.replace_handle_reference('Place',
|
person.replace_handle_reference('Place',
|
||||||
self.old_handle,self.new_handle)
|
self.old_handle,self.new_handle)
|
||||||
self.db.commit_person(person,trans)
|
self.db.commit_person(person,trans)
|
||||||
|
|
||||||
# families
|
# families
|
||||||
for handle in self.db.iter_family_handles():
|
for family in self.db.iter_families():
|
||||||
family = self.db.get_family_from_handle(handle)
|
|
||||||
if family.has_handle_reference('Place',self.old_handle):
|
if family.has_handle_reference('Place',self.old_handle):
|
||||||
family.replace_handle_reference('Place',
|
family.replace_handle_reference('Place',
|
||||||
self.old_handle,self.new_handle)
|
self.old_handle,self.new_handle)
|
||||||
self.db.commit_family(family,trans)
|
self.db.commit_family(family,trans)
|
||||||
|
|
||||||
# events
|
# events
|
||||||
for handle in self.db.get_event_handles():
|
for event in self.db.iter_events():
|
||||||
event = self.db.get_event_from_handle(handle)
|
|
||||||
if event.has_handle_reference('Place',self.old_handle):
|
if event.has_handle_reference('Place',self.old_handle):
|
||||||
event.replace_handle_reference('Place',
|
event.replace_handle_reference('Place',
|
||||||
self.old_handle,self.new_handle)
|
self.old_handle,self.new_handle)
|
||||||
|
@ -165,48 +165,42 @@ class MergeSources(ManagedWindow.ManagedWindow):
|
|||||||
# replace handles
|
# replace handles
|
||||||
|
|
||||||
# people
|
# people
|
||||||
for handle in self.db.iter_person_handles():
|
for person in self.db.iter_people():
|
||||||
person = self.db.get_person_from_handle(handle)
|
|
||||||
if person.has_source_reference(self.old_handle):
|
if person.has_source_reference(self.old_handle):
|
||||||
person.replace_source_references(self.old_handle,
|
person.replace_source_references(self.old_handle,
|
||||||
self.new_handle)
|
self.new_handle)
|
||||||
self.db.commit_person(person,trans)
|
self.db.commit_person(person,trans)
|
||||||
|
|
||||||
# family
|
# family
|
||||||
for handle in self.db.iter_family_handles():
|
for family in self.db.iter_families():
|
||||||
family = self.db.get_family_from_handle(handle)
|
|
||||||
if family.has_source_reference(self.old_handle):
|
if family.has_source_reference(self.old_handle):
|
||||||
family.replace_source_references(self.old_handle,
|
family.replace_source_references(self.old_handle,
|
||||||
self.new_handle)
|
self.new_handle)
|
||||||
self.db.commit_family(family,trans)
|
self.db.commit_family(family,trans)
|
||||||
|
|
||||||
# events
|
# events
|
||||||
for handle in self.db.get_event_handles():
|
for event in self.db.iter_events():
|
||||||
event = self.db.get_event_from_handle(handle)
|
|
||||||
if event.has_source_reference(self.old_handle):
|
if event.has_source_reference(self.old_handle):
|
||||||
event.replace_source_references(self.old_handle,
|
event.replace_source_references(self.old_handle,
|
||||||
self.new_handle)
|
self.new_handle)
|
||||||
self.db.commit_event(event,trans)
|
self.db.commit_event(event,trans)
|
||||||
|
|
||||||
# sources
|
# sources
|
||||||
for handle in self.db.get_source_handles():
|
for source in self.db.iter_sources():
|
||||||
source = self.db.get_source_from_handle(handle)
|
|
||||||
if source.has_source_reference(self.old_handle):
|
if source.has_source_reference(self.old_handle):
|
||||||
source.replace_source_references(self.old_handle,
|
source.replace_source_references(self.old_handle,
|
||||||
self.new_handle)
|
self.new_handle)
|
||||||
self.db.commit_source(source,trans)
|
self.db.commit_source(source,trans)
|
||||||
|
|
||||||
# places
|
# places
|
||||||
for handle in self.iter.get_place_handles():
|
for place in self.db.iter_places():
|
||||||
place = self.db.get_place_from_handle(handle)
|
|
||||||
if place.has_source_reference(self.old_handle):
|
if place.has_source_reference(self.old_handle):
|
||||||
place.replace_source_references(self.old_handle,
|
place.replace_source_references(self.old_handle,
|
||||||
self.new_handle)
|
self.new_handle)
|
||||||
self.db.commit_place(place,trans)
|
self.db.commit_place(place,trans)
|
||||||
|
|
||||||
# media
|
# media
|
||||||
for handle in self.db.get_media_object_handles():
|
for obj in self.db.iter_media_objects():
|
||||||
obj = self.db.get_object_from_handle(handle)
|
|
||||||
if obj.has_source_reference(self.old_handle):
|
if obj.has_source_reference(self.old_handle):
|
||||||
obj.replace_source_references(self.old_handle,
|
obj.replace_source_references(self.old_handle,
|
||||||
self.new_handle)
|
self.new_handle)
|
||||||
|
@ -111,9 +111,8 @@ class LastNameDialog(ManagedWindow.ManagedWindow):
|
|||||||
progress = ProgressMeter(_('Finding Surnames'))
|
progress = ProgressMeter(_('Finding Surnames'))
|
||||||
progress.set_pass(_('Finding surnames'),
|
progress.set_pass(_('Finding surnames'),
|
||||||
database.get_number_of_people())
|
database.get_number_of_people())
|
||||||
for person_handle in database.iter_person_handles():
|
for person in database.iter_people():
|
||||||
progress.step()
|
progress.step()
|
||||||
person = database.get_person_from_handle(person_handle)
|
|
||||||
key = person.get_primary_name().get_surname()
|
key = person.get_primary_name().get_surname()
|
||||||
count = 0
|
count = 0
|
||||||
if key in surnames:
|
if key in surnames:
|
||||||
|
@ -82,7 +82,7 @@ def _validate_options(options, dbase):
|
|||||||
if not person:
|
if not person:
|
||||||
person = dbase.get_default_person()
|
person = dbase.get_default_person()
|
||||||
if not person:
|
if not person:
|
||||||
phandle = dbase.get_person_handles()[0]
|
phandle = dbase.iter_person_handles().next()
|
||||||
person = dbase.get_person_from_handle(phandle)
|
person = dbase.get_person_from_handle(phandle)
|
||||||
if not person:
|
if not person:
|
||||||
print "ERROR: Please specify a person"
|
print "ERROR: Please specify a person"
|
||||||
@ -101,8 +101,7 @@ def _validate_options(options, dbase):
|
|||||||
if family_list:
|
if family_list:
|
||||||
family_handle = family_list[0]
|
family_handle = family_list[0]
|
||||||
else:
|
else:
|
||||||
for family_handle in dbase.iter_family_handles():
|
family_handle = dbase.iter_family_handles().next()
|
||||||
break
|
|
||||||
if family_handle:
|
if family_handle:
|
||||||
family = dbase.get_family_from_handle(family_handle)
|
family = dbase.get_family_from_handle(family_handle)
|
||||||
option.set_value(family.get_gramps_id())
|
option.set_value(family.get_gramps_id())
|
||||||
@ -237,8 +236,7 @@ class CommandLineReport(object):
|
|||||||
self.options_help[name].append(id_list)
|
self.options_help[name].append(id_list)
|
||||||
elif isinstance(option, FamilyOption):
|
elif isinstance(option, FamilyOption):
|
||||||
id_list = []
|
id_list = []
|
||||||
for fhandle in self.database.iter_family_handles():
|
for family in self.database.iter_families():
|
||||||
family = self.database.get_family_from_handle(fhandle)
|
|
||||||
mname = ""
|
mname = ""
|
||||||
fname = ""
|
fname = ""
|
||||||
mhandle = family.get_mother_handle()
|
mhandle = family.get_mother_handle()
|
||||||
|
@ -165,29 +165,25 @@ class BSDDBTxn(object):
|
|||||||
"""
|
"""
|
||||||
Returns the data object associated with key
|
Returns the data object associated with key
|
||||||
"""
|
"""
|
||||||
if txn == None: txn = self.txn
|
return self.db.get(key, default, txn or self.txn, **kwargs)
|
||||||
return self.db.get(key, default, txn, **kwargs)
|
|
||||||
|
|
||||||
def pget(self, key, default=None, txn=None, **kwargs):
|
def pget(self, key, default=None, txn=None, **kwargs):
|
||||||
"""
|
"""
|
||||||
Returns the primary key, given the secondary one, and associated data
|
Returns the primary key, given the secondary one, and associated data
|
||||||
"""
|
"""
|
||||||
if txn == None: txn = self.txn
|
return self.db.pget(key, default, txn or self.txn, **kwargs)
|
||||||
return self.db.pget(key, default, txn, **kwargs)
|
|
||||||
|
|
||||||
def put(self, key, data, txn=None, **kwargs):
|
def put(self, key, data, txn=None, **kwargs):
|
||||||
"""
|
"""
|
||||||
Stores the key/data pair in the database
|
Stores the key/data pair in the database
|
||||||
"""
|
"""
|
||||||
if txn == None: txn = self.txn
|
return self.db.put(key, data, txn or self.txn, **kwargs)
|
||||||
return self.db.put(key, data, txn, **kwargs)
|
|
||||||
|
|
||||||
def delete(self, key, txn=None, **kwargs):
|
def delete(self, key, txn=None, **kwargs):
|
||||||
"""
|
"""
|
||||||
Removes a key/data pair from the database
|
Removes a key/data pair from the database
|
||||||
"""
|
"""
|
||||||
if txn == None: txn = self.txn
|
self.db.delete(key, txn or self.txn, **kwargs)
|
||||||
self.db.delete(key, txn, **kwargs)
|
|
||||||
|
|
||||||
# test code
|
# test code
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
@ -126,8 +126,7 @@ def _initialize_options(options, dbstate):
|
|||||||
if family_list:
|
if family_list:
|
||||||
family_handle = family_list[0]
|
family_handle = family_list[0]
|
||||||
else:
|
else:
|
||||||
for family_handle in dbase.iter_family_handles():
|
family_handle = dbase.iter_family_handles().next()
|
||||||
break
|
|
||||||
family = dbase.get_family_from_handle(family_handle)
|
family = dbase.get_family_from_handle(family_handle)
|
||||||
option.set_value(family.get_gramps_id())
|
option.set_value(family.get_gramps_id())
|
||||||
|
|
||||||
|
@ -84,10 +84,9 @@ class AgeStatsGramplet(Gramplet):
|
|||||||
mother_handles = [[] for age in range(self.max_mother_diff)]
|
mother_handles = [[] for age in range(self.max_mother_diff)]
|
||||||
father_handles = [[] for age in range(self.max_father_diff)]
|
father_handles = [[] for age in range(self.max_father_diff)]
|
||||||
text = ""
|
text = ""
|
||||||
handles = self.dbstate.db.iter_person_handles()
|
|
||||||
for h in handles:
|
for p in self.dbstate.db.iter_people():
|
||||||
yield True
|
yield True
|
||||||
p = self.dbstate.db.get_person_from_handle(h)
|
|
||||||
# if birth_date and death_date, compute age
|
# if birth_date and death_date, compute age
|
||||||
birth_ref = p.get_birth_ref()
|
birth_ref = p.get_birth_ref()
|
||||||
birth_date = None
|
birth_date = None
|
||||||
@ -103,7 +102,7 @@ class AgeStatsGramplet(Gramplet):
|
|||||||
age = death_date.get_year() - birth_date.get_year()
|
age = death_date.get_year() - birth_date.get_year()
|
||||||
if age >= 0 and age < self.max_age:
|
if age >= 0 and age < self.max_age:
|
||||||
age_dict[age] = age_dict.get(age, 0) + 1
|
age_dict[age] = age_dict.get(age, 0) + 1
|
||||||
age_handles[age].append(h)
|
age_handles[age].append(p.handle)
|
||||||
#else:
|
#else:
|
||||||
# print "Age out of range: %d for %s" % (age,
|
# print "Age out of range: %d for %s" % (age,
|
||||||
# p.get_primary_name().get_first_name()
|
# p.get_primary_name().get_first_name()
|
||||||
|
@ -283,8 +283,7 @@ class DataEntryGramplet(Gramplet):
|
|||||||
|
|
||||||
def get_or_create_place(self, place_name):
|
def get_or_create_place(self, place_name):
|
||||||
if place_name == "": return (-1, None)
|
if place_name == "": return (-1, None)
|
||||||
for place_handle in self.dbstate.db.iter_place_handles():
|
for place in self.dbstate.db.iter_places():
|
||||||
place = self.dbstate.db.get_place_from_handle(place_handle)
|
|
||||||
if place.get_title().strip() == place_name:
|
if place.get_title().strip() == place_name:
|
||||||
return (0, place) # (old, object)
|
return (0, place) # (old, object)
|
||||||
place = gen.lib.Place()
|
place = gen.lib.Place()
|
||||||
|
@ -78,22 +78,19 @@ class SurnameCloudGramplet(Gramplet):
|
|||||||
def main(self):
|
def main(self):
|
||||||
self.set_text(_("Processing...") + "\n")
|
self.set_text(_("Processing...") + "\n")
|
||||||
yield True
|
yield True
|
||||||
people = self.dbstate.db.iter_person_handles()
|
|
||||||
surnames = {}
|
surnames = {}
|
||||||
representative_handle = {}
|
representative_handle = {}
|
||||||
|
|
||||||
cnt = 0
|
cnt = 0
|
||||||
for person_handle in people:
|
for person in self.dbstate.db.iter_people():
|
||||||
person = self.dbstate.db.get_person_from_handle(person_handle)
|
allnames = [person.get_primary_name()] + person.get_alternate_names()
|
||||||
if person:
|
allnames = set([name.get_group_name().strip() for name in allnames])
|
||||||
allnames = [person.get_primary_name()] + person.get_alternate_names()
|
for surname in allnames:
|
||||||
allnames = set([name.get_group_name().strip() for name in allnames])
|
surnames[surname] = surnames.get(surname, 0) + 1
|
||||||
for surname in allnames:
|
representative_handle[surname] = person.handle
|
||||||
surnames[surname] = surnames.get(surname, 0) + 1
|
cnt += 1
|
||||||
representative_handle[surname] = person_handle
|
|
||||||
if not cnt % _YIELD_INTERVAL:
|
if not cnt % _YIELD_INTERVAL:
|
||||||
yield True
|
yield True
|
||||||
cnt += 1
|
|
||||||
|
|
||||||
total_people = cnt
|
total_people = cnt
|
||||||
surname_sort = []
|
surname_sort = []
|
||||||
@ -101,9 +98,9 @@ class SurnameCloudGramplet(Gramplet):
|
|||||||
for surname in surnames:
|
for surname in surnames:
|
||||||
surname_sort.append( (surnames[surname], surname) )
|
surname_sort.append( (surnames[surname], surname) )
|
||||||
total += surnames[surname]
|
total += surnames[surname]
|
||||||
|
cnt += 1
|
||||||
if not cnt % _YIELD_INTERVAL:
|
if not cnt % _YIELD_INTERVAL:
|
||||||
yield True
|
yield True
|
||||||
cnt += 1
|
|
||||||
|
|
||||||
total_surnames = cnt
|
total_surnames = cnt
|
||||||
surname_sort.sort(reverse=True)
|
surname_sort.sort(reverse=True)
|
||||||
@ -114,8 +111,7 @@ class SurnameCloudGramplet(Gramplet):
|
|||||||
cloud_values.append( count )
|
cloud_values.append( count )
|
||||||
|
|
||||||
cloud_names.sort(key=lambda k:k[1])
|
cloud_names.sort(key=lambda k:k[1])
|
||||||
counts = list(set(cloud_values))
|
counts = reversed(set(cloud_values))
|
||||||
counts.sort(reverse=True)
|
|
||||||
line = 0
|
line = 0
|
||||||
### All done!
|
### All done!
|
||||||
# Now, find out how many we can display without going over top_size:
|
# Now, find out how many we can display without going over top_size:
|
||||||
|
@ -62,20 +62,17 @@ class TopSurnamesGramplet(Gramplet):
|
|||||||
|
|
||||||
def main(self):
|
def main(self):
|
||||||
self.set_text(_("Processing...") + "\n")
|
self.set_text(_("Processing...") + "\n")
|
||||||
people = self.dbstate.db.iter_person_handles()
|
|
||||||
surnames = {}
|
surnames = {}
|
||||||
representative_handle = {}
|
representative_handle = {}
|
||||||
|
|
||||||
cnt = 0
|
cnt = 0
|
||||||
for person_handle in people:
|
for person in self.dbstate.db.iter_people():
|
||||||
person = self.dbstate.db.get_person_from_handle(person_handle)
|
allnames = [person.get_primary_name()] + person.get_alternate_names()
|
||||||
if person:
|
allnames = set([name.get_group_name().strip() for name in allnames])
|
||||||
cnt += 1
|
for surname in allnames:
|
||||||
allnames = [person.get_primary_name()] + person.get_alternate_names()
|
surnames[surname] = surnames.get(surname, 0) + 1
|
||||||
allnames = set([name.get_group_name().strip() for name in allnames])
|
representative_handle[surname] = person.handle
|
||||||
for surname in allnames:
|
cnt += 1
|
||||||
surnames[surname] = surnames.get(surname, 0) + 1
|
|
||||||
representative_handle[surname] = person_handle
|
|
||||||
if not cnt % _YIELD_INTERVAL:
|
if not cnt % _YIELD_INTERVAL:
|
||||||
yield True
|
yield True
|
||||||
|
|
||||||
@ -83,9 +80,11 @@ class TopSurnamesGramplet(Gramplet):
|
|||||||
surname_sort = []
|
surname_sort = []
|
||||||
total = 0
|
total = 0
|
||||||
|
|
||||||
for cnt, surname in enumerate(surnames):
|
cnt = 0
|
||||||
|
for surname in surnames:
|
||||||
surname_sort.append( (surnames[surname], surname) )
|
surname_sort.append( (surnames[surname], surname) )
|
||||||
total += surnames[surname]
|
total += surnames[surname]
|
||||||
|
cnt += 1
|
||||||
if not cnt % _YIELD_INTERVAL:
|
if not cnt % _YIELD_INTERVAL:
|
||||||
yield True
|
yield True
|
||||||
|
|
||||||
|
@ -53,10 +53,8 @@ def run(database, document, *args, **kwargs):
|
|||||||
sdoc.paragraph("")
|
sdoc.paragraph("")
|
||||||
matches = 0
|
matches = 0
|
||||||
stab.columns(_("Name"), _("Primary Name"), _("Name Type"))
|
stab.columns(_("Name"), _("Primary Name"), _("Name Type"))
|
||||||
people = database.iter_person_handles()
|
|
||||||
names = [] # name, person
|
names = [] # name, person
|
||||||
for person_handle in people:
|
for person in database.iter_people():
|
||||||
person = database.get_person_from_handle(person_handle)
|
|
||||||
primary_name = person.get_primary_name()
|
primary_name = person.get_primary_name()
|
||||||
if primary_name:
|
if primary_name:
|
||||||
names += [(nd.display_name(primary_name),
|
names += [(nd.display_name(primary_name),
|
||||||
|
@ -60,16 +60,13 @@ def run(database, document, filter_name, *args, **kwargs):
|
|||||||
matches = 0
|
matches = 0
|
||||||
if (filter_name == 'all people'):
|
if (filter_name == 'all people'):
|
||||||
stab.columns(_("Person"), _("Birth Date"), _("Name type"))
|
stab.columns(_("Person"), _("Birth Date"), _("Name type"))
|
||||||
people = database.iter_person_handles()
|
for person in database.iter_people():
|
||||||
for person_handle in people:
|
|
||||||
person = database.get_person_from_handle(person_handle)
|
|
||||||
stab.row(person, sdb.birth_date_obj(person),
|
stab.row(person, sdb.birth_date_obj(person),
|
||||||
str(person.get_primary_name().get_type()))
|
str(person.get_primary_name().get_type()))
|
||||||
matches += 1
|
matches += 1
|
||||||
elif (filter_name == 'males'):
|
elif (filter_name == 'males'):
|
||||||
stab.columns(_("Person"), _("Birth Date"), _("Name type"))
|
stab.columns(_("Person"), _("Birth Date"), _("Name type"))
|
||||||
people = database.iter_person_handles()
|
for person in database.iter_people():
|
||||||
for person_handle in people:
|
|
||||||
person = database.get_person_from_handle(person_handle)
|
person = database.get_person_from_handle(person_handle)
|
||||||
if person.gender == Person.MALE:
|
if person.gender == Person.MALE:
|
||||||
stab.row(person, sdb.birth_date_obj(person),
|
stab.row(person, sdb.birth_date_obj(person),
|
||||||
@ -77,27 +74,21 @@ def run(database, document, filter_name, *args, **kwargs):
|
|||||||
matches += 1
|
matches += 1
|
||||||
elif (filter_name == 'females'):
|
elif (filter_name == 'females'):
|
||||||
stab.columns(_("Person"), _("Birth Date"), _("Name type"))
|
stab.columns(_("Person"), _("Birth Date"), _("Name type"))
|
||||||
people = database.iter_person_handles()
|
for person in database.iter_people():
|
||||||
for person_handle in people:
|
|
||||||
person = database.get_person_from_handle(person_handle)
|
|
||||||
if person.gender == Person.FEMALE:
|
if person.gender == Person.FEMALE:
|
||||||
stab.row(person, sdb.birth_date_obj(person),
|
stab.row(person, sdb.birth_date_obj(person),
|
||||||
str(person.get_primary_name().get_type()))
|
str(person.get_primary_name().get_type()))
|
||||||
matches += 1
|
matches += 1
|
||||||
elif (filter_name == 'people with unknown gender'):
|
elif (filter_name == 'people with unknown gender'):
|
||||||
stab.columns(_("Person"), _("Birth Date"), _("Name type"))
|
stab.columns(_("Person"), _("Birth Date"), _("Name type"))
|
||||||
people = database.iter_person_handles()
|
for person in database.iter_people():
|
||||||
for person_handle in people:
|
|
||||||
person = database.get_person_from_handle(person_handle)
|
|
||||||
if person.gender not in [Person.FEMALE, Person.MALE]:
|
if person.gender not in [Person.FEMALE, Person.MALE]:
|
||||||
stab.row(person, sdb.birth_date_obj(person),
|
stab.row(person, sdb.birth_date_obj(person),
|
||||||
str(person.get_primary_name().get_type()))
|
str(person.get_primary_name().get_type()))
|
||||||
matches += 1
|
matches += 1
|
||||||
elif (filter_name == 'people with incomplete names'):
|
elif (filter_name == 'people with incomplete names'):
|
||||||
stab.columns(_("Person"), _("Birth Date"), _("Name type"))
|
stab.columns(_("Person"), _("Birth Date"), _("Name type"))
|
||||||
people = database.iter_person_handles()
|
for person in database.iter_people():
|
||||||
for person_handle in people:
|
|
||||||
person = database.get_person_from_handle(person_handle)
|
|
||||||
for name in [person.get_primary_name()] + person.get_alternate_names():
|
for name in [person.get_primary_name()] + person.get_alternate_names():
|
||||||
if name.get_group_name() == "" or name.get_first_name() == "":
|
if name.get_group_name() == "" or name.get_first_name() == "":
|
||||||
stab.row(person, sdb.birth_date_obj(person),
|
stab.row(person, sdb.birth_date_obj(person),
|
||||||
@ -105,48 +96,36 @@ def run(database, document, filter_name, *args, **kwargs):
|
|||||||
matches += 1
|
matches += 1
|
||||||
elif (filter_name == 'people with missing birth dates'):
|
elif (filter_name == 'people with missing birth dates'):
|
||||||
stab.columns(_("Person"), _("Type"))
|
stab.columns(_("Person"), _("Type"))
|
||||||
people = database.iter_person_handles()
|
for person in database.iter_people():
|
||||||
for person_handle in people:
|
birth_ref = person.get_birth_ref()
|
||||||
person = database.get_person_from_handle(person_handle)
|
if birth_ref:
|
||||||
if person:
|
birth = database.get_event_from_handle(birth_ref.ref)
|
||||||
birth_ref = person.get_birth_ref()
|
if not DateHandler.get_date(birth):
|
||||||
if birth_ref:
|
stab.row(person, _("birth event but no date"))
|
||||||
birth = database.get_event_from_handle(birth_ref.ref)
|
|
||||||
if not DateHandler.get_date(birth):
|
|
||||||
stab.row(person, _("birth event but no date"))
|
|
||||||
matches += 1
|
|
||||||
else:
|
|
||||||
stab.row(person, _("missing birth event"))
|
|
||||||
matches += 1
|
matches += 1
|
||||||
|
else:
|
||||||
|
stab.row(person, _("missing birth event"))
|
||||||
|
matches += 1
|
||||||
elif (filter_name == 'disconnected people'):
|
elif (filter_name == 'disconnected people'):
|
||||||
stab.columns(_("Person"), _("Birth Date"), _("Name type"))
|
stab.columns(_("Person"), _("Birth Date"), _("Name type"))
|
||||||
people = database.iter_person_handles()
|
for person in database.iter_people():
|
||||||
for person_handle in people:
|
if ((not person.get_main_parents_family_handle()) and
|
||||||
person = database.get_person_from_handle(person_handle)
|
(not len(person.get_family_handle_list()))):
|
||||||
if person:
|
stab.row(person, sdb.birth_date_obj(person),
|
||||||
if ((not person.get_main_parents_family_handle()) and
|
str(person.get_primary_name().get_type()))
|
||||||
(not len(person.get_family_handle_list()))):
|
|
||||||
stab.row(person, sdb.birth_date_obj(person),
|
|
||||||
str(person.get_primary_name().get_type()))
|
|
||||||
matches += 1
|
|
||||||
elif (filter_name == 'all families'):
|
|
||||||
familyList = database.iter_family_handles()
|
|
||||||
stab.columns(_("Family"))
|
|
||||||
for family_handle in familyList:
|
|
||||||
family = database.get_family_from_handle(family_handle)
|
|
||||||
if family:
|
|
||||||
stab.row(family)
|
|
||||||
matches += 1
|
matches += 1
|
||||||
|
elif (filter_name == 'all families'):
|
||||||
|
stab.columns(_("Family"))
|
||||||
|
for family in database.iter_families():
|
||||||
|
stab.row(family)
|
||||||
|
matches += 1
|
||||||
elif (filter_name == 'unique surnames'):
|
elif (filter_name == 'unique surnames'):
|
||||||
namelist = {}
|
namelist = {}
|
||||||
people = database.iter_person_handles()
|
for person in database.iter_people():
|
||||||
for person_handle in people:
|
names = [person.get_primary_name()] + person.get_alternate_names()
|
||||||
person = database.get_person_from_handle(person_handle)
|
surnames = list(set([name.get_group_name() for name in names]))
|
||||||
if person:
|
for surname in surnames:
|
||||||
names = [person.get_primary_name()] + person.get_alternate_names()
|
namelist[surname] = namelist.get(surname, 0) + 1
|
||||||
surnames = list(set([name.get_group_name() for name in names]))
|
|
||||||
for surname in surnames:
|
|
||||||
namelist[surname] = namelist.get(surname, 0) + 1
|
|
||||||
stab.columns(_("Surname"), _("Count"))
|
stab.columns(_("Surname"), _("Count"))
|
||||||
for name in sorted(namelist):
|
for name in sorted(namelist):
|
||||||
stab.row(name, namelist[name])
|
stab.row(name, namelist[name])
|
||||||
@ -158,39 +137,27 @@ def run(database, document, filter_name, *args, **kwargs):
|
|||||||
name))
|
name))
|
||||||
elif (filter_name == 'people with media'):
|
elif (filter_name == 'people with media'):
|
||||||
stab.columns(_("Person"), _("Media count"))
|
stab.columns(_("Person"), _("Media count"))
|
||||||
people = database.iter_person_handles()
|
for person in database.iter_people():
|
||||||
for person_handle in people:
|
|
||||||
person = database.get_person_from_handle(person_handle)
|
|
||||||
if not person:
|
|
||||||
continue
|
|
||||||
length = len(person.get_media_list())
|
length = len(person.get_media_list())
|
||||||
if length > 0:
|
if length > 0:
|
||||||
stab.row(person, length)
|
stab.row(person, length)
|
||||||
matches += 1
|
matches += 1
|
||||||
elif (filter_name == 'media references'):
|
elif (filter_name == 'media references'):
|
||||||
stab.columns(_("Person"), _("Reference"))
|
stab.columns(_("Person"), _("Reference"))
|
||||||
people = database.iter_person_handles()
|
for person in database.iter_people():
|
||||||
for person_handle in people:
|
|
||||||
person = database.get_person_from_handle(person_handle)
|
|
||||||
if not person:
|
|
||||||
continue
|
|
||||||
medialist = person.get_media_list()
|
medialist = person.get_media_list()
|
||||||
for item in medialist:
|
for item in medialist:
|
||||||
stab.row(person, _("media"))
|
stab.row(person, _("media"))
|
||||||
matches += 1
|
matches += 1
|
||||||
elif (filter_name == 'unique media'):
|
elif (filter_name == 'unique media'):
|
||||||
stab.columns(_("Unique Media"))
|
stab.columns(_("Unique Media"))
|
||||||
pobjects = database.get_media_object_handles()
|
for photo in database.iter_media_objects():
|
||||||
for photo_id in database.get_media_object_handles():
|
|
||||||
photo = database.get_object_from_handle(photo_id)
|
|
||||||
fullname = media_path_full(database, photo.get_path())
|
fullname = media_path_full(database, photo.get_path())
|
||||||
stab.row(fullname)
|
stab.row(fullname)
|
||||||
matches += 1
|
matches += 1
|
||||||
elif (filter_name == 'missing media'):
|
elif (filter_name == 'missing media'):
|
||||||
stab.columns(_("Missing Media"))
|
stab.columns(_("Missing Media"))
|
||||||
pobjects = database.get_media_object_handles()
|
for photo in database.iter_media_objects():
|
||||||
for photo_id in database.get_media_object_handles():
|
|
||||||
photo = database.get_object_from_handle(photo_id)
|
|
||||||
fullname = media_path_full(database, photo.get_path())
|
fullname = media_path_full(database, photo.get_path())
|
||||||
try:
|
try:
|
||||||
posixpath.getsize(fullname)
|
posixpath.getsize(fullname)
|
||||||
@ -199,9 +166,7 @@ def run(database, document, filter_name, *args, **kwargs):
|
|||||||
matches += 1
|
matches += 1
|
||||||
elif (filter_name == 'media by size'):
|
elif (filter_name == 'media by size'):
|
||||||
stab.columns(_("Media"), _("Size in bytes"))
|
stab.columns(_("Media"), _("Size in bytes"))
|
||||||
pobjects = database.get_media_object_handles()
|
for photo in database.iter_media_objects():
|
||||||
for photo_id in database.get_media_object_handles():
|
|
||||||
photo = database.get_object_from_handle(photo_id)
|
|
||||||
fullname = media_path_full(database, photo.get_path())
|
fullname = media_path_full(database, photo.get_path())
|
||||||
try:
|
try:
|
||||||
bytes = posixpath.getsize(fullname)
|
bytes = posixpath.getsize(fullname)
|
||||||
@ -212,8 +177,7 @@ def run(database, document, filter_name, *args, **kwargs):
|
|||||||
elif (filter_name == 'list of people'):
|
elif (filter_name == 'list of people'):
|
||||||
stab.columns(_("Person"), _("Birth Date"), _("Name type"))
|
stab.columns(_("Person"), _("Birth Date"), _("Name type"))
|
||||||
people = kwargs["handles"]
|
people = kwargs["handles"]
|
||||||
for person_handle in people:
|
for person in database.iter_people():
|
||||||
person = database.get_person_from_handle(person_handle)
|
|
||||||
stab.row(person, sdb.birth_date_obj(person),
|
stab.row(person, sdb.birth_date_obj(person),
|
||||||
str(person.get_primary_name().get_type()))
|
str(person.get_primary_name().get_type()))
|
||||||
matches += 1
|
matches += 1
|
||||||
|
@ -100,12 +100,8 @@ class SummaryReport(Report):
|
|||||||
self.doc.write_text(_("Individuals"))
|
self.doc.write_text(_("Individuals"))
|
||||||
self.doc.end_paragraph()
|
self.doc.end_paragraph()
|
||||||
|
|
||||||
person_list = self.__db.iter_person_handles()
|
|
||||||
num_people = 0
|
num_people = 0
|
||||||
for person_handle in person_list:
|
for person in self.__db.iter_people():
|
||||||
person = self.__db.get_person_from_handle(person_handle)
|
|
||||||
if not person:
|
|
||||||
continue
|
|
||||||
num_people += 1
|
num_people += 1
|
||||||
|
|
||||||
# Count people with media.
|
# Count people with media.
|
||||||
@ -191,7 +187,6 @@ class SummaryReport(Report):
|
|||||||
self.doc.write_text(_("Family Information"))
|
self.doc.write_text(_("Family Information"))
|
||||||
self.doc.end_paragraph()
|
self.doc.end_paragraph()
|
||||||
|
|
||||||
family_list = self.__db.iter_family_handles()
|
|
||||||
self.doc.start_paragraph("SR-Normal")
|
self.doc.start_paragraph("SR-Normal")
|
||||||
self.doc.write_text(_("Number of families: %d") % self.__db.get_number_of_families())
|
self.doc.write_text(_("Number of families: %d") % self.__db.get_number_of_families())
|
||||||
self.doc.end_paragraph()
|
self.doc.end_paragraph()
|
||||||
|
@ -83,8 +83,7 @@ class EventNames(Tool.BatchTool, ManagedWindow.ManagedWindow):
|
|||||||
self.change = False
|
self.change = False
|
||||||
counter = 0
|
counter = 0
|
||||||
|
|
||||||
for handle in self.db.iter_person_handles():
|
for person in self.db.iter_people():
|
||||||
person = self.db.get_person_from_handle(handle)
|
|
||||||
for event_ref in person.get_event_ref_list():
|
for event_ref in person.get_event_ref_list():
|
||||||
if event_ref.get_role() == gen.lib.EventRoleType.PRIMARY:
|
if event_ref.get_role() == gen.lib.EventRoleType.PRIMARY:
|
||||||
event_handle = event_ref.ref
|
event_handle = event_ref.ref
|
||||||
@ -95,8 +94,7 @@ class EventNames(Tool.BatchTool, ManagedWindow.ManagedWindow):
|
|||||||
self.change = True
|
self.change = True
|
||||||
counter += 1
|
counter += 1
|
||||||
|
|
||||||
for handle in self.db.iter_family_handles():
|
for family in self.db.iter_families():
|
||||||
family = self.db.get_family_from_handle(handle)
|
|
||||||
for event_ref in family.get_event_ref_list():
|
for event_ref in family.get_event_ref_list():
|
||||||
if event_ref.get_role() == gen.lib.EventRoleType.FAMILY:
|
if event_ref.get_role() == gen.lib.EventRoleType.FAMILY:
|
||||||
event_handle = event_ref.ref
|
event_handle = event_ref.ref
|
||||||
|
@ -122,9 +122,8 @@ class PatchNames(Tool.BatchTool, ManagedWindow.ManagedWindow):
|
|||||||
self.progress.set_pass(_('Analyzing names'),
|
self.progress.set_pass(_('Analyzing names'),
|
||||||
self.db.get_number_of_people())
|
self.db.get_number_of_people())
|
||||||
|
|
||||||
for key in self.db.iter_person_handles():
|
for person in self.db.iter_people():
|
||||||
|
key = person.handle
|
||||||
person = self.db.get_person_from_handle(key)
|
|
||||||
name = person.get_primary_name()
|
name = person.get_primary_name()
|
||||||
first = name.get_first_name()
|
first = name.get_first_name()
|
||||||
sname = name.get_surname()
|
sname = name.get_surname()
|
||||||
|
@ -76,8 +76,7 @@ class SoundGen(Tool.Tool, ManagedWindow.ManagedWindow):
|
|||||||
|
|
||||||
names = []
|
names = []
|
||||||
person = None
|
person = None
|
||||||
for person_handle in self.db.iter_person_handles():
|
for person in self.db.iter_people():
|
||||||
person = self.db.get_person_from_handle(person_handle)
|
|
||||||
lastname = person.get_primary_name().get_surname()
|
lastname = person.get_primary_name().get_surname()
|
||||||
if lastname not in names:
|
if lastname not in names:
|
||||||
names.append(lastname)
|
names.append(lastname)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user