Fixed and remove database objects that are not in the report database for class SourcePage's Citation Referents.

svn: r18836
This commit is contained in:
Rob G. Healey
2012-02-08 03:31:13 +00:00
parent b8736f6166
commit 00b55b709b

View File

@ -615,8 +615,8 @@ class BasePage(object):
with Html("table", class_ = table_class) as table: with Html("table", class_ = table_class) as table:
section += table section += table
for fhandle in family_list: for family_handle in family_list:
family = self.dbase_.get_family_from_handle(fhandle) family = self.dbase_.get_family_from_handle(family_handle)
if family: if family:
self.display_spouse(family, table, ppl_handle_list, place_lat_long) self.display_spouse(family, table, ppl_handle_list, place_lat_long)
@ -3083,7 +3083,7 @@ class SurnamePage(BasePage):
self.XHTMLWriter(surnamepage, of) self.XHTMLWriter(surnamepage, of)
class FamilyListPage(BasePage): class FamilyListPage(BasePage):
def __init__(self, report, title, ind_list): def __init__(self, report, title, ind_list, db_family_handles):
self.dbase_ = report.database self.dbase_ = report.database
BasePage.__init__(self, report, title) BasePage.__init__(self, report, title)
@ -3142,16 +3142,16 @@ class FamilyListPage(BasePage):
letter =' ' letter =' '
# get person from sorted database list # get person from sorted database list
for phandle in handle_list: for person_handle in handle_list:
person = self.dbase_.get_person_from_handle(phandle) person = self.dbase_.get_person_from_handle(person_handle)
if person: if person:
family_handle_list = person.get_family_handle_list() family_handle_list = person.get_family_handle_list()
if family_handle_list: if family_handle_list:
first_family = True first_family = True
for fhandle in family_handle_list: for family_handle in family_handle_list:
family = self.dbase_.get_family_from_handle(fhandle) family = self.dbase_.get_family_from_handle(family_handle)
if family: if family:
trow = Html("tr") trow = Html("tr")
@ -3175,7 +3175,7 @@ class FamilyListPage(BasePage):
if first_family: if first_family:
trow.attr = 'class ="BeginFamily"' trow.attr = 'class ="BeginFamily"'
tcell += self.family_link(fhandle, self.get_name(person), tcell += self.family_link(family_handle, self.get_name(person),
family.get_gramps_id(), self.up) family.get_gramps_id(), self.up)
first_family = False first_family = False
@ -3192,7 +3192,7 @@ class FamilyListPage(BasePage):
if partner: if partner:
use_link = check_person_database(partner_handle, ind_list) use_link = check_person_database(partner_handle, ind_list)
if use_link: if use_link:
tcell += self.family_link(fhandle, self.get_name(partner), tcell += self.family_link(family_handle, self.get_name(partner),
family.get_gramps_id(), self.up) family.get_gramps_id(), self.up)
else: else:
tcell += self.get_name(partner) tcell += self.get_name(partner)
@ -3226,6 +3226,7 @@ class FamilyListPage(BasePage):
tcell1 += ' ' tcell1 += ' '
tcell2 += ' ' tcell2 += ' '
first_family = False first_family = False
db_family_handles.append(family_handle)
# add clearline for proper styling # add clearline for proper styling
# add footer section # add footer section
@ -3332,7 +3333,7 @@ class FamilyPage(BasePage):
self.XHTMLWriter(familydetailpage, of) self.XHTMLWriter(familydetailpage, of)
class PlaceListPage(BasePage): class PlaceListPage(BasePage):
def __init__(self, report, title, place_handles): def __init__(self, report, title, place_handles, db_place_handles):
self.dbase_ = report.database self.dbase_ = report.database
BasePage.__init__(self, report, title) BasePage.__init__(self, report, title)
@ -3385,8 +3386,8 @@ class PlaceListPage(BasePage):
tbody = Html("tbody") tbody = Html("tbody")
table += tbody table += tbody
for handle in handle_list: for place_handle in handle_list:
place = self.dbase_.get_place_from_handle(handle) place = self.dbase_.get_place_from_handle(place_handle)
if place: if place:
place_title = place.get_title() place_title = place.get_title()
ml = place.get_main_location() ml = place.get_main_location()
@ -3433,6 +3434,7 @@ class PlaceListPage(BasePage):
else: else:
tcell1 += ' ' tcell1 += ' '
tcell2 += ' ' tcell2 += ' '
db_place_handles.append(place_handles)
# add clearline for proper styling # add clearline for proper styling
# add footer section # add footer section
@ -3576,7 +3578,7 @@ class PlacePage(BasePage):
self.XHTMLWriter(placepage, of) self.XHTMLWriter(placepage, of)
class EventListPage(BasePage): class EventListPage(BasePage):
def __init__(self, report, title, event_types, event_handle_list, ppl_handle_list): def __init__(self, report, title, event_types, event_handle_list, ppl_handle_list, db_event_handles):
""" """
Will create the event list page Will create the event list page
@ -3718,8 +3720,9 @@ class EventListPage(BasePage):
self.complete_people(tcell, first_person, handle_list, self.complete_people(tcell, first_person, handle_list,
ppl_handle_list, up =False) ppl_handle_list, up =False)
_EVENT_DISPLAYED.append( gid ) _EVENT_DISPLAYED.append(gid)
first_event = False first_event = False
db_event_handles.append(event_handle)
# add clearline for proper styling # add clearline for proper styling
# add footer section # add footer section
@ -4427,11 +4430,11 @@ class SourceListPage(BasePage):
# and close the file # and close the file
self.XHTMLWriter(sourcelistpage, of) self.XHTMLWriter(sourcelistpage, of)
################################################# """
# #
# Creates the individual source pages from SourceListPage # Creates the individual source pages from SourceListPage
# #
################################################# """
class SourcePage(BasePage): class SourcePage(BasePage):
def __init__(self, report, title, src_handle, src_list, ppl_handle_list, database_handles_list): def __init__(self, report, title, src_handle, src_list, ppl_handle_list, database_handles_list):
self.dbase_ = report.database self.dbase_ = report.database
@ -4440,8 +4443,9 @@ class SourcePage(BasePage):
return return
# for use in determining if a citation referent is in the report database? # for use in determining if a citation referent is in the report database?
(db_family_handles, db_event_handles, db_place_handles, db_source_handles, (db_people_handles, db_family_handles, db_event_handles, db_place_handles,
db_media_handles) = database_handles_list db_repository_handles, db_media_handles) = database_handles_list
db_source_handles = src_list
self.page_title = source.get_title() self.page_title = source.get_title()
BasePage.__init__(self, report, title, source.get_gramps_id()) BasePage.__init__(self, report, title, source.get_gramps_id())
@ -4566,6 +4570,10 @@ class SourcePage(BasePage):
# gets all citation referents no matter on the filters... # gets all citation referents no matter on the filters...
(people_list, family_list, event_list, place_list, source_list, media_list, repo_list) = refs (people_list, family_list, event_list, place_list, source_list, media_list, repo_list) = refs
# remove people that are not in this report database...
people_list = [person_handle for person_handle in people_list if person_handle in db_people_handles]
# Sort the person list by the individual's surname... # Sort the person list by the individual's surname...
people_list = sort_people(self.dbase_, people_list) people_list = sort_people(self.dbase_, people_list)
@ -4612,7 +4620,10 @@ class SourcePage(BasePage):
unordered3 += list3 unordered3 += list3
displayed.append(surname) displayed.append(surname)
list2 += unordered3 list2 += unordered3
unordered2 += list2 unordered2 += list2
# remove family handles if they are not in this report database?
family_list = [family_handle for family_handle in family_list if family_handle in db_family_handles]
# Citation Referents have Family Objects... # Citation Referents have Family Objects...
if (self.inc_families and family_list): if (self.inc_families and family_list):
@ -4628,7 +4639,7 @@ class SourcePage(BasePage):
for family_handle in family_list: for family_handle in family_list:
family = self.dbase_.get_family_from_handle(family_handle) family = self.dbase_.get_family_from_handle(family_handle)
if (family and family_handle in db_family_handles): if family:
unordered3.extend( unordered3.extend(
Html("li", self.get_family_string(family)) Html("li", self.get_family_string(family))
@ -4636,6 +4647,9 @@ class SourcePage(BasePage):
list2 += unordered3 list2 += unordered3
unordered2 += list2 unordered2 += list2
# remove event handles if they are not in this report database...
event_list = [event_handle for event_handle in event_list if event_handle in db_event_handles]
# Citation Referents have Event Objects... # Citation Referents have Event Objects...
if (self.inc_events and event_list): if (self.inc_events and event_list):
@ -4668,7 +4682,7 @@ class SourcePage(BasePage):
for (sort_value, event_handle) in event_list: for (sort_value, event_handle) in event_list:
event = self.dbase_.get_event_from_handle(event_handle) event = self.dbase_.get_event_from_handle(event_handle)
if (event and event_handle in db_event_handles): if event:
event_date = _dd.display(event.get_date_object()) event_date = _dd.display(event.get_date_object())
list4 = Html("li") list4 = Html("li")
@ -4720,6 +4734,9 @@ class SourcePage(BasePage):
unordered3 += list3 unordered3 += list3
list2 += unordered3 list2 += unordered3
unordered2 += list2 unordered2 += list2
# remove place handles if they are not in this report database...
place_list = [place_handle for place_handle in place_list if place_handle in db_place_handles]
# Citation Referents have Place Objects... # Citation Referents have Place Objects...
if place_list: if place_list:
@ -4735,8 +4752,7 @@ class SourcePage(BasePage):
for place_handle in place_list: for place_handle in place_list:
place = self.dbase_.get_place_from_handle(place_handle) place = self.dbase_.get_place_from_handle(place_handle)
if (place and place_handle in db_place_handles): if place:
unordered3.extend( unordered3.extend(
Html("li", self.place_link(place_handle, place.get_title(), uplink = self.up), Html("li", self.place_link(place_handle, place.get_title(), uplink = self.up),
inline = True) inline = True)
@ -4744,6 +4760,9 @@ class SourcePage(BasePage):
list2 += unordered3 list2 += unordered3
unordered2 += list2 unordered2 += list2
# remove sources if they are not in this report database...
source_list = [source_handle for source_handle in source_list if source_handle in db_source_handles]
# Citation Referents have Source Objects... # Citation Referents have Source Objects...
if source_list: if source_list:
@ -4758,13 +4777,16 @@ class SourcePage(BasePage):
for source_handle in source_list: for source_handle in source_list:
source = self.dbase_.get_source_from_handle(source_handle) source = self.dbase_.get_source_from_handle(source_handle)
if (source and source_handle in db_source_handles): if source:
unordered3.extend( unordered3.extend(
Html("li", self.source_link(source, uplink = self.up), inline = True) Html("li", self.source_link(source, uplink = self.up), inline = True)
) )
list2 += unordered3 list2 += unordered3
unordered2 += list2 unordered2 += list2
# remove repositories if they are not in this report database...
repo_list = [repo_handle for repo_handle in repo_list if repo_handle in db_repository_handles]
# Citation Referents have Repository Objects... # Citation Referents have Repository Objects...
if (inc_repositories and repo_list): if (inc_repositories and repo_list):
@ -4787,6 +4809,9 @@ class SourcePage(BasePage):
list2 += unordered3 list2 += unordered3
unordered2 += list2 unordered2 += list2
# remove media if they are not in this report database...
media_list = [media_handle for media_handle in media_list if media_handle in db_media_handles]
# Citation Referents has Media Objects... # Citation Referents has Media Objects...
if (self.create_media and media_list): if (self.create_media and media_list):
@ -4804,8 +4829,7 @@ class SourcePage(BasePage):
for media_handle in media_list: for media_handle in media_list:
media = self.dbase_.get_object_from_handle(media_handle) media = self.dbase_.get_object_from_handle(media_handle)
if (media and media_handle in db_media_handles): if media:
mime_type = media.get_mime_type() mime_type = media.get_mime_type()
if mime_type: if mime_type:
if mime_type.startswith("image/"): if mime_type.startswith("image/"):
@ -4821,6 +4845,7 @@ class SourcePage(BasePage):
Html("li", self.doc_link(media_handle, media.get_description(), Html("li", self.doc_link(media_handle, media.get_description(),
self.up, usedescr = False), inline = True) self.up, usedescr = False), inline = True)
) )
list2 += unordered3 list2 += unordered3
unordered2 += list2 unordered2 += list2
@ -4837,7 +4862,7 @@ class SourcePage(BasePage):
self.XHTMLWriter(sourcepage, of) self.XHTMLWriter(sourcepage, of)
class MediaListPage(BasePage): class MediaListPage(BasePage):
def __init__(self, report, title): def __init__(self, report, title, db_media_handles):
self.dbase_ = report.database self.dbase_ = report.database
BasePage.__init__(self, report, title) BasePage.__init__(self, report, title)
@ -4868,11 +4893,12 @@ class MediaListPage(BasePage):
trow.extend( trow.extend(
Html("th", trans, class_ =colclass, inline =True) Html("th", trans, class_ =colclass, inline =True)
for trans, colclass in [ for trans, colclass in [
[" ", "ColumnRowLabel"], (" ", "ColumnRowLabel"),
[_("Media | Name"), "ColumnName"], (_("Media | Name"), "ColumnName"),
[_("Date"), "ColumnDate"], (_("Date"), "ColumnDate"),
[_("Mime Type"), "ColumnMime"] ] (_("Mime Type"), "ColumnMime")
]
) )
# begin table body # begin table body
@ -4883,8 +4909,8 @@ class MediaListPage(BasePage):
sort = Sort.Sort(self.dbase_) sort = Sort.Sort(self.dbase_)
mlist = sorted(self.report.photo_list, key = sort.by_media_title_key) mlist = sorted(self.report.photo_list, key = sort.by_media_title_key)
for handle in mlist: for media_handle in mlist:
media = self.dbase_.get_object_from_handle(handle) media = self.dbase_.get_object_from_handle(media_handle)
if media: if media:
title = media.get_description() or "[untitled]" title = media.get_description() or "[untitled]"
@ -4892,16 +4918,18 @@ class MediaListPage(BasePage):
tbody += trow tbody += trow
media_data_row = [ media_data_row = [
[index, "ColumnRowLabel"], [index, "ColumnRowLabel"],
[self.media_ref_link(handle, title), "ColumnName"], [self.media_ref_link(media_handle, title), "ColumnName"],
[_dd.display(media.get_date_object() ), "ColumnDate"], [_dd.display(media.get_date_object() ), "ColumnDate"],
[media.get_mime_type(), "ColumnMime"] ] [media.get_mime_type(), "ColumnMime"] ]
trow.extend( trow.extend(
Html("td", data, class_ = colclass) Html("td", data, class_ = colclass)
for data, colclass in media_data_row for data, colclass in media_data_row
) )
index += 1 index += 1
db_media_handles.append(media_handle)
# add footer section # add footer section
# add clearline for proper styling # add clearline for proper styling
@ -4938,14 +4966,14 @@ class ThumbnailPreviewPage(BasePage):
return return
media_list = [] media_list = []
for phandle in self.photo_keys: for person_handle in self.photo_keys:
photo = self.dbase_.get_object_from_handle(phandle) photo = self.dbase_.get_object_from_handle(person_handle)
if photo: if photo:
if photo.get_mime_type().startswith("image"): if photo.get_mime_type().startswith("image"):
media_list.append((photo.get_description(), phandle, photo)) media_list.append((photo.get_description(), person_handle, photo))
if self.create_thumbs_only: if self.create_thumbs_only:
copy_thumbnail(self.report, phandle, photo) copy_thumbnail(self.report, person_handle, photo)
if not media_list: if not media_list:
return return
@ -4999,7 +5027,7 @@ class ThumbnailPreviewPage(BasePage):
cols = 0 cols = 0
while (cols < num_of_cols and indexpos < num_of_images): while (cols < num_of_cols and indexpos < num_of_images):
ptitle = media_list[indexpos][0] ptitle = media_list[indexpos][0]
phandle = media_list[indexpos][1] person_handle = media_list[indexpos][1]
photo = media_list[indexpos][2] photo = media_list[indexpos][2]
# begin table cell and attach to table row(trow)... # begin table cell and attach to table row(trow)...
@ -5025,7 +5053,7 @@ class ThumbnailPreviewPage(BasePage):
unordered += list unordered += list
# attach thumbnail to list... # attach thumbnail to list...
list += self.thumb_hyper_image(newpath, "img", phandle, ptitle) list += self.thumb_hyper_image(newpath, "img", person_handle, ptitle)
index += 1 index += 1
indexpos += 1 indexpos += 1
@ -5049,7 +5077,7 @@ class ThumbnailPreviewPage(BasePage):
table += tbody table += tbody
index = 1 index = 1
for ptitle, phandle, photo in media_list: for ptitle, person_handle, photo in media_list:
trow = Html("tr") trow = Html("tr")
tbody += trow tbody += trow
@ -5813,7 +5841,7 @@ class IndividualPage(BasePage):
0, center, self.person.handle) 0, center, self.person.handle)
return tree return tree
def draw_tree(self, gen_nr, maxgen, max_size, old_center, new_center, phandle): def draw_tree(self, gen_nr, maxgen, max_size, old_center, new_center, person_handle):
""" """
draws the Abcestor Tree draws the Abcestor Tree
""" """
@ -5821,14 +5849,14 @@ class IndividualPage(BasePage):
if gen_nr > maxgen: if gen_nr > maxgen:
return tree return tree
gen_offset = int(max_size / pow(2, gen_nr+1)) gen_offset = int(max_size / pow(2, gen_nr+1))
person = self.dbase_.get_person_from_handle(phandle) person = self.dbase_.get_person_from_handle(person_handle)
if not person: if not person:
return tree return tree
if gen_nr == 1: if gen_nr == 1:
tree = self.draw_box(new_center, 0, person) tree = self.draw_box(new_center, 0, person)
else: else:
tree = self.draw_connected_box(old_center, new_center, gen_nr-1, phandle) tree = self.draw_connected_box(old_center, new_center, gen_nr-1, person_handle)
if gen_nr == maxgen: if gen_nr == maxgen:
return tree return tree
@ -6476,7 +6504,7 @@ class IndividualPage(BasePage):
return trow return trow
class RepositoryListPage(BasePage): class RepositoryListPage(BasePage):
def __init__(self, report, title, repos_dict, keys): def __init__(self, report, title, repos_dict, keys, db_repository_handles):
self.dbase_ = report.database self.dbase_ = report.database
BasePage.__init__(self, report, title) BasePage.__init__(self, report, title)
inc_repos = self.report.options["inc_repository"] inc_repos = self.report.options["inc_repository"]
@ -6530,6 +6558,7 @@ class RepositoryListPage(BasePage):
repo.get_gramps_id(), self.up), class_ = "ColumnName") repo.get_gramps_id(), self.up), class_ = "ColumnName")
else: else:
trow += Html("td", "[ untitled ]", class_ = "ColumnName") trow += Html("td", "[ untitled ]", class_ = "ColumnName")
db_repository_handles.append(handle)
# add clearline for proper styling # add clearline for proper styling
# add footer section # add footer section
@ -6978,9 +7007,6 @@ class NavWebReport(Report):
place_list = {} place_list = {}
source_list = {} source_list = {}
database_handles_list = (self.database.get_family_handles(), self.database.get_event_handles(),
self.database.get_place_handles(), self.database.get_source_handles(), self.database.get_media_object_handles())
self.base_pages() self.base_pages()
# build classes IndividualListPage and IndividualPage # build classes IndividualListPage and IndividualPage
@ -6990,42 +7016,46 @@ class NavWebReport(Report):
self.surname_pages(ind_list) self.surname_pages(ind_list)
# build classes FamilyListPage and FamilyPage # build classes FamilyListPage and FamilyPage
db_family_handles = []
if self.inc_families: if self.inc_families:
self.family_pages(ind_list, place_list, place_lat_long, self.database.get_family_handles()) self.family_pages(ind_list, place_list, place_lat_long, db_family_handles)
# build classes EventListPage and EventPage # build classes EventListPage and EventPage
db_event_handles = []
if self.inc_events: if self.inc_events:
self.event_pages(ind_list) self.event_pages(ind_list, db_event_handles)
# build classes PlaceListPage and PlacePage # build classes PlaceListPage and PlacePage
self.place_pages(place_list, source_list) db_place_handles = []
self.place_pages(place_list, source_list, db_place_handles)
# build classes SourceListPage and SourcePage
# has been moved so that all Sources can be found before processing...
self.source_pages(source_list, ind_list, database_handles_list)
# build classes RepositoryListPage and RepositoryPage # build classes RepositoryListPage and RepositoryPage
db_repository_handles = []
if self.inc_repository: if self.inc_repository:
repolist = self.database.get_repository_handles() repolist = self.database.get_repository_handles()
if len(repolist): if len(repolist):
self.repository_pages(repolist, source_list) self.repository_pages(repolist, source_list, db_repository_handles)
# build classes MediaListPage and MediaPage # build classes MediaListPage and MediaPage
db_media_handles = []
if self.inc_gallery: if self.inc_gallery:
if not self.create_thumbs_only: if not self.create_thumbs_only:
self.media_pages(source_list) self.media_pages(source_list, db_media_handles)
# build Thumbnail Preview Page... # build Thumbnail Preview Page...
self.thumbnail_preview_page() self.thumbnail_preview_page()
# Build classes source pages a second time to pick up sources referenced # build classes AddressBookListPage and AddressBookPage
# by galleries
self.source_pages(source_list, ind_list, database_handles_list)
# build classes ddressBookList and AddressBookPage
if self.inc_addressbook: if self.inc_addressbook:
self.addressbook_pages(ind_list) self.addressbook_pages(ind_list)
database_handles_list = (ind_list, db_family_handles, db_event_handles, db_place_handles,
db_repository_handles, db_media_handles)
# build classes SourceListPage and SourcePage
# has been moved so that all Sources can be found before processing...
self.source_pages(source_list, ind_list, database_handles_list)
# if an archive is being used, close it? # if an archive is being used, close it?
if self.archive: if self.archive:
self.archive.close() self.archive.close()
@ -7210,31 +7240,32 @@ class NavWebReport(Report):
""" """
creates the FamiliesListPage and FamilyPages creates the FamiliesListPage and FamilyPages
""" """
FamilyListPage(self, self.title, ppl_handle_list, db_family_handles)
self.user.begin_progress(_("Narrated Web Site Report"), self.user.begin_progress(_("Narrated Web Site Report"),
_("Creating family pages..."), _("Creating family pages..."),
self.database.get_number_of_families()) len(db_family_handles))
FamilyListPage(self, self.title, ppl_handle_list)
for family_handle in db_family_handles: for family_handle in db_family_handles:
FamilyPage(self, self.title, family_handle, place_list, ppl_handle_list, place_lat_long) FamilyPage(self, self.title, family_handle, place_list, ppl_handle_list, place_lat_long)
self.user.step_progress() self.user.step_progress()
self.user.end_progress() self.user.end_progress()
def place_pages(self, place_list, source_list): def place_pages(self, place_list, source_list, db_place_handles):
""" """
creates PlaceListPage and PlacePage creates PlaceListPage and PlacePage
""" """
self.user.begin_progress(_("Narrated Web Site Report"), self.user.begin_progress(_("Narrated Web Site Report"),
_("Creating place pages"), len(place_list)) _("Creating place pages"), len(place_list))
PlaceListPage(self, self.title, place_list) PlaceListPage(self, self.title, place_list, db_place_handles)
for place in place_list: for place in place_list:
PlacePage(self, self.title, place, source_list, place_list) PlacePage(self, self.title, place, source_list, place_list)
self.user.step_progress() self.user.step_progress()
self.user.end_progress() self.user.end_progress()
def event_pages(self, ind_list): def event_pages(self, ind_list, db_event_handles):
""" """
a dump of all the events sorted by event type, date, and surname a dump of all the events sorted by event type, date, and surname
for classes EventListPage and EventPage for classes EventListPage and EventPage
@ -7245,7 +7276,7 @@ class NavWebReport(Report):
self.user.begin_progress(_("Narrated Web Site Report"), self.user.begin_progress(_("Narrated Web Site Report"),
_("Creating event pages"), _("Creating event pages"),
len(event_handle_list)) len(event_handle_list))
EventListPage(self, self.title, event_types, event_handle_list, ind_list) EventListPage(self, self.title, event_types, event_handle_list, ind_list, db_event_handles)
for event_handle in event_handle_list: for event_handle in event_handle_list:
EventPage(self, self.title, event_handle, ind_list) EventPage(self, self.title, event_handle, ind_list)
@ -7253,7 +7284,7 @@ class NavWebReport(Report):
self.user.step_progress() self.user.step_progress()
self.user.end_progress() self.user.end_progress()
def media_pages(self, source_list): def media_pages(self, source_list, db_media_handles):
""" """
creates MediaListPage and MediaPage creates MediaListPage and MediaPage
""" """
@ -7261,7 +7292,7 @@ class NavWebReport(Report):
_("Creating media pages"), _("Creating media pages"),
len(self.photo_list)) len(self.photo_list))
MediaListPage(self, self.title) MediaListPage(self, self.title, db_media_handles)
prev = None prev = None
total = len(self.photo_list) total = len(self.photo_list)
@ -7290,19 +7321,19 @@ class NavWebReport(Report):
ThumbnailPreviewPage(self, self.title, self.user.step_progress) ThumbnailPreviewPage(self, self.title, self.user.step_progress)
self.user.end_progress() self.user.end_progress()
def repository_pages(self, repolist, source_list): def repository_pages(self, repolist, source_list, db_repository_handles):
""" """
will create RepositoryPage() and RepositoryListPage() will create RepositoryPage() and RepositoryListPage()
""" """
repos_dict = {} repos_dict = {}
# Sort the repositories # Sort the repositories
for handle in repolist: for repository_handle in repolist:
repository = self.database.get_repository_from_handle(handle) repository = self.database.get_repository_from_handle(repository_handle)
key = repository.get_name() + str(repository.get_gramps_id()) key = repository.get_name() + str(repository.get_gramps_id())
repos_dict[key] = (repository, handle) repos_dict[key] = (repository, repository_handle)
keys = sorted(repos_dict, key =locale.strxfrm) keys = sorted(repos_dict, key = locale.strxfrm)
# set progress bar pass for Repositories # set progress bar pass for Repositories
repository_size = len(repos_dict) repository_size = len(repos_dict)
@ -7311,7 +7342,7 @@ class NavWebReport(Report):
_('Creating repository pages'), _('Creating repository pages'),
repository_size) repository_size)
# RepositoryListPage Class # RepositoryListPage Class
RepositoryListPage(self, self.title, repos_dict, keys) RepositoryListPage(self, self.title, repos_dict, keys, db_repository_handles)
for index, key in enumerate(keys): for index, key in enumerate(keys):
(repo, handle) = repos_dict[key] (repo, handle) = repos_dict[key]
@ -8353,8 +8384,8 @@ def add_birthdate(dbase, ppl_handle_list):
""" """
sortable_individuals = [] sortable_individuals = []
birth_date = False birth_date = False
for phandle in ppl_handle_list: for person_handle in ppl_handle_list:
person = dbase.get_person_from_handle(phandle) person = dbase.get_person_from_handle(person_handle)
if person: if person:
# get birth date: if birth_date equals nothing, then generate a fake one? # get birth date: if birth_date equals nothing, then generate a fake one?
@ -8364,7 +8395,7 @@ def add_birthdate(dbase, ppl_handle_list):
birth = dbase.get_event_from_handle(birth_ref.ref) birth = dbase.get_event_from_handle(birth_ref.ref)
if birth: if birth:
birth_date = birth.get_date_object().get_sort_value() birth_date = birth.get_date_object().get_sort_value()
sortable_individuals.append((birth_date, phandle)) sortable_individuals.append((birth_date, person_handle))
# return a list of handles with the individual's birthdate attached # return a list of handles with the individual's birthdate attached
return sortable_individuals return sortable_individuals
@ -8424,8 +8455,8 @@ def build_event_data_by_individuals(dbase, ppl_handle_list):
event_handle_list = [] event_handle_list = []
event_types = [] event_types = []
for phandle in ppl_handle_list: for person_handle in ppl_handle_list:
person = dbase.get_person_from_handle(phandle) person = dbase.get_person_from_handle(person_handle)
if person: if person:
evt_ref_list = person.get_event_ref_list() evt_ref_list = person.get_event_ref_list()
@ -8439,8 +8470,8 @@ def build_event_data_by_individuals(dbase, ppl_handle_list):
person_family_handle_list = person.get_family_handle_list() person_family_handle_list = person.get_family_handle_list()
if person_family_handle_list: if person_family_handle_list:
for fhandle in person_family_handle_list: for family_handle in person_family_handle_list:
family = dbase.get_family_from_handle(fhandle) family = dbase.get_family_from_handle(family_handle)
if family: if family:
family_evt_ref_list = family.get_event_ref_list() family_evt_ref_list = family.get_event_ref_list()
@ -8469,10 +8500,10 @@ def build_event_data_by_events(dbase_, event_handles):
return event_handle_list, event_types return event_handle_list, event_types
def check_person_database(phandle, ppl_handle_list): def check_person_database(person_handle, ppl_handle_list):
""" """
check to see if a person is in the report database check to see if a person is in the report database
@param: person -- person object from the database presumably @param: person -- person object from the database presumably
""" """
return any(person_handle == phandle for person_handle in ppl_handle_list) return any(person_handle == person_handle for person_handle in ppl_handle_list)