NarrativeWeb : bug #0005537 : Bug creating archive with the option Include Family Map with all places
svn: r18950
This commit is contained in:
@@ -2056,7 +2056,7 @@ class BasePage(object):
|
|||||||
# ---------------------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------------------
|
||||||
# # Web Page Fortmatter and writer
|
# # Web Page Fortmatter and writer
|
||||||
# ---------------------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------------------
|
||||||
def XHTMLWriter(self, htmlinstance, of):
|
def XHTMLWriter(self, htmlinstance, of, sio):
|
||||||
"""
|
"""
|
||||||
Will format, write, and close the file
|
Will format, write, and close the file
|
||||||
|
|
||||||
@@ -2068,7 +2068,7 @@ class BasePage(object):
|
|||||||
htmlinstance.write(partial(print, file=of))
|
htmlinstance.write(partial(print, file=of))
|
||||||
|
|
||||||
# closes the file
|
# closes the file
|
||||||
self.report.close_file(of)
|
self.report.close_file(of, sio)
|
||||||
|
|
||||||
class IndividualListPage(BasePage):
|
class IndividualListPage(BasePage):
|
||||||
|
|
||||||
@@ -2082,7 +2082,7 @@ class IndividualListPage(BasePage):
|
|||||||
showpartner = report.options['showpartner']
|
showpartner = report.options['showpartner']
|
||||||
showparents = report.options['showparents']
|
showparents = report.options['showparents']
|
||||||
|
|
||||||
of = self.report.create_file("individuals")
|
of, sio = self.report.create_file("individuals")
|
||||||
indlistpage, head, body = self.write_header(_("Individuals"))
|
indlistpage, head, body = self.write_header(_("Individuals"))
|
||||||
|
|
||||||
# begin Individuals division
|
# begin Individuals division
|
||||||
@@ -2256,7 +2256,7 @@ class IndividualListPage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(indlistpage, of)
|
self.XHTMLWriter(indlistpage, of, sio)
|
||||||
|
|
||||||
class SurnamePage(BasePage):
|
class SurnamePage(BasePage):
|
||||||
"""
|
"""
|
||||||
@@ -2273,7 +2273,7 @@ class SurnamePage(BasePage):
|
|||||||
showpartner = report.options['showpartner']
|
showpartner = report.options['showpartner']
|
||||||
showparents = report.options['showparents']
|
showparents = report.options['showparents']
|
||||||
|
|
||||||
of = self.report.create_file(name_to_md5(surname), "srn")
|
of, sio = self.report.create_file(name_to_md5(surname), "srn")
|
||||||
self.up = True
|
self.up = True
|
||||||
surnamepage, head, body = self.write_header("%s - %s" % (_("Surname"), surname))
|
surnamepage, head, body = self.write_header("%s - %s" % (_("Surname"), surname))
|
||||||
|
|
||||||
@@ -2416,7 +2416,7 @@ class SurnamePage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(surnamepage, of)
|
self.XHTMLWriter(surnamepage, of, sio)
|
||||||
|
|
||||||
class PlaceListPage(BasePage):
|
class PlaceListPage(BasePage):
|
||||||
|
|
||||||
@@ -2424,7 +2424,7 @@ class PlaceListPage(BasePage):
|
|||||||
BasePage.__init__(self, report, title)
|
BasePage.__init__(self, report, title)
|
||||||
db = report.database
|
db = report.database
|
||||||
|
|
||||||
of = self.report.create_file("places")
|
of, sio = self.report.create_file("places")
|
||||||
placelistpage, head, body = self.write_header(_("Places"))
|
placelistpage, head, body = self.write_header(_("Places"))
|
||||||
|
|
||||||
# begin places division
|
# begin places division
|
||||||
@@ -2519,7 +2519,7 @@ class PlaceListPage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(placelistpage, of)
|
self.XHTMLWriter(placelistpage, of, sio)
|
||||||
|
|
||||||
class PlacePage(BasePage):
|
class PlacePage(BasePage):
|
||||||
def __init__(self, report, title, place_handle, src_list, place_list):
|
def __init__(self, report, title, place_handle, src_list, place_list):
|
||||||
@@ -2536,7 +2536,7 @@ class PlacePage(BasePage):
|
|||||||
|
|
||||||
BasePage.__init__(self, report, title, place.gramps_id)
|
BasePage.__init__(self, report, title, place.gramps_id)
|
||||||
|
|
||||||
of = self.report.create_file(place_handle, "plc")
|
of, sio = self.report.create_file(place_handle, "plc")
|
||||||
self.src_list = src_list
|
self.src_list = src_list
|
||||||
self.up = True
|
self.up = True
|
||||||
self.page_title = place.get_title()
|
self.page_title = place.get_title()
|
||||||
@@ -2655,7 +2655,7 @@ class PlacePage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(placepage, of)
|
self.XHTMLWriter(placepage, of, sio)
|
||||||
|
|
||||||
class EventListPage(BasePage):
|
class EventListPage(BasePage):
|
||||||
def __init__(self, report, title, event_types, event_handle_list):
|
def __init__(self, report, title, event_types, event_handle_list):
|
||||||
@@ -2668,7 +2668,7 @@ class EventListPage(BasePage):
|
|||||||
BasePage.__init__(self, report, title)
|
BasePage.__init__(self, report, title)
|
||||||
db = report.database
|
db = report.database
|
||||||
|
|
||||||
of = self.report.create_file("events")
|
of, sio = self.report.create_file("events")
|
||||||
eventslistpage, head, body = self.write_header(_("Events"))
|
eventslistpage, head, body = self.write_header(_("Events"))
|
||||||
|
|
||||||
# begin events list division
|
# begin events list division
|
||||||
@@ -2810,7 +2810,7 @@ class EventListPage(BasePage):
|
|||||||
|
|
||||||
# send page ut for processing
|
# send page ut for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(eventslistpage, of)
|
self.XHTMLWriter(eventslistpage, of, sio)
|
||||||
|
|
||||||
def _getEventDate(self, event_handle):
|
def _getEventDate(self, event_handle):
|
||||||
event_date = gen.lib.Date.EMPTY
|
event_date = gen.lib.Date.EMPTY
|
||||||
@@ -2854,7 +2854,7 @@ class EventPage(BasePage):
|
|||||||
subdirs = True
|
subdirs = True
|
||||||
self.bibli = Bibliography()
|
self.bibli = Bibliography()
|
||||||
|
|
||||||
of = self.report.create_file(event_handle, "evt")
|
of, sio = self.report.create_file(event_handle, "evt")
|
||||||
eventpage, head, body = self.write_header(_("Events"))
|
eventpage, head, body = self.write_header(_("Events"))
|
||||||
|
|
||||||
# start event detail division
|
# start event detail division
|
||||||
@@ -2937,7 +2937,7 @@ class EventPage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the page
|
# and close the page
|
||||||
self.XHTMLWriter(eventpage, of)
|
self.XHTMLWriter(eventpage, of, sio)
|
||||||
|
|
||||||
class MediaPage(BasePage):
|
class MediaPage(BasePage):
|
||||||
|
|
||||||
@@ -2952,7 +2952,7 @@ class MediaPage(BasePage):
|
|||||||
# get media rectangles
|
# get media rectangles
|
||||||
_region_items = self.media_ref_rect_regions(handle)
|
_region_items = self.media_ref_rect_regions(handle)
|
||||||
|
|
||||||
of = self.report.create_file(handle, "img")
|
of, sio = self.report.create_file(handle, "img")
|
||||||
self.up = True
|
self.up = True
|
||||||
|
|
||||||
self.src_list = src_list
|
self.src_list = src_list
|
||||||
@@ -3179,7 +3179,7 @@ class MediaPage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(mediapage, of)
|
self.XHTMLWriter(mediapage, of, sio)
|
||||||
|
|
||||||
def media_nav_link(self, handle, name, up = False):
|
def media_nav_link(self, handle, name, up = False):
|
||||||
|
|
||||||
@@ -3235,10 +3235,10 @@ class SurnameListPage(BasePage):
|
|||||||
db = report.database
|
db = report.database
|
||||||
|
|
||||||
if order_by == self.ORDER_BY_NAME:
|
if order_by == self.ORDER_BY_NAME:
|
||||||
of = self.report.create_file(filename)
|
of, sio = self.report.create_file(filename)
|
||||||
surnamelistpage, head, body = self.write_header(_('Surnames'))
|
surnamelistpage, head, body = self.write_header(_('Surnames'))
|
||||||
else:
|
else:
|
||||||
of = self.report.create_file("surnames_count")
|
of, sio = self.report.create_file("surnames_count")
|
||||||
surnamelistpage, head, body = self.write_header(_('Surnames by person count'))
|
surnamelistpage, head, body = self.write_header(_('Surnames by person count'))
|
||||||
|
|
||||||
# begin surnames division
|
# begin surnames division
|
||||||
@@ -3347,7 +3347,7 @@ class SurnameListPage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(surnamelistpage, of)
|
self.XHTMLWriter(surnamelistpage, of, sio)
|
||||||
|
|
||||||
def surname_link(self, fname, name, opt_val = None, up = False):
|
def surname_link(self, fname, name, opt_val = None, up = False):
|
||||||
url = self.report.build_url_fname_html(fname, "srn", up)
|
url = self.report.build_url_fname_html(fname, "srn", up)
|
||||||
@@ -3367,7 +3367,7 @@ class IntroductionPage(BasePage):
|
|||||||
BasePage.__init__(self, report, title)
|
BasePage.__init__(self, report, title)
|
||||||
db = report.database
|
db = report.database
|
||||||
|
|
||||||
of = self.report.create_file(report.intro_fname)
|
of, sio = self.report.create_file(report.intro_fname)
|
||||||
intropage, head, body = self.write_header(_('Introduction'))
|
intropage, head, body = self.write_header(_('Introduction'))
|
||||||
|
|
||||||
# begin Introduction division
|
# begin Introduction division
|
||||||
@@ -3393,7 +3393,7 @@ class IntroductionPage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(intropage, of)
|
self.XHTMLWriter(intropage, of, sio)
|
||||||
|
|
||||||
class HomePage(BasePage):
|
class HomePage(BasePage):
|
||||||
"""
|
"""
|
||||||
@@ -3404,7 +3404,7 @@ class HomePage(BasePage):
|
|||||||
BasePage.__init__(self, report, title)
|
BasePage.__init__(self, report, title)
|
||||||
db = report.database
|
db = report.database
|
||||||
|
|
||||||
of = self.report.create_file("index")
|
of, sio = self.report.create_file("index")
|
||||||
homepage, head, body = self.write_header(_('Home'))
|
homepage, head, body = self.write_header(_('Home'))
|
||||||
|
|
||||||
# begin home division
|
# begin home division
|
||||||
@@ -3430,7 +3430,7 @@ class HomePage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(homepage, of)
|
self.XHTMLWriter(homepage, of, sio)
|
||||||
|
|
||||||
class SourceListPage(BasePage):
|
class SourceListPage(BasePage):
|
||||||
|
|
||||||
@@ -3441,7 +3441,7 @@ class SourceListPage(BasePage):
|
|||||||
handle_list = list(handle_set)
|
handle_list = list(handle_set)
|
||||||
source_dict = {}
|
source_dict = {}
|
||||||
|
|
||||||
of = self.report.create_file("sources")
|
of, sio = self.report.create_file("sources")
|
||||||
sourcelistpage, head, body = self.write_header(_("Sources"))
|
sourcelistpage, head, body = self.write_header(_("Sources"))
|
||||||
|
|
||||||
# begin source list division
|
# begin source list division
|
||||||
@@ -3501,7 +3501,7 @@ class SourceListPage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(sourcelistpage, of)
|
self.XHTMLWriter(sourcelistpage, of, sio)
|
||||||
|
|
||||||
class SourcePage(BasePage):
|
class SourcePage(BasePage):
|
||||||
|
|
||||||
@@ -3516,7 +3516,7 @@ class SourcePage(BasePage):
|
|||||||
self.page_title = source.get_title()
|
self.page_title = source.get_title()
|
||||||
inc_repos = self.report.options["inc_repository"]
|
inc_repos = self.report.options["inc_repository"]
|
||||||
|
|
||||||
of = self.report.create_file(source.get_handle(), "src")
|
of, sio = self.report.create_file(source.get_handle(), "src")
|
||||||
self.up = True
|
self.up = True
|
||||||
sourcepage, head, body = self.write_header(_('Sources'))
|
sourcepage, head, body = self.write_header(_('Sources'))
|
||||||
|
|
||||||
@@ -3598,7 +3598,7 @@ class SourcePage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(sourcepage, of)
|
self.XHTMLWriter(sourcepage, of, sio)
|
||||||
|
|
||||||
class MediaListPage(BasePage):
|
class MediaListPage(BasePage):
|
||||||
|
|
||||||
@@ -3606,7 +3606,7 @@ class MediaListPage(BasePage):
|
|||||||
BasePage.__init__(self, report, title)
|
BasePage.__init__(self, report, title)
|
||||||
db = report.database
|
db = report.database
|
||||||
|
|
||||||
of = self.report.create_file("media")
|
of, sio = self.report.create_file("media")
|
||||||
medialistpage, head, body = self.write_header(_('Media'))
|
medialistpage, head, body = self.write_header(_('Media'))
|
||||||
|
|
||||||
# begin gallery division
|
# begin gallery division
|
||||||
@@ -3677,7 +3677,7 @@ class MediaListPage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(medialistpage, of)
|
self.XHTMLWriter(medialistpage, of, sio)
|
||||||
|
|
||||||
def media_ref_link(self, handle, name, up = False):
|
def media_ref_link(self, handle, name, up = False):
|
||||||
|
|
||||||
@@ -3719,7 +3719,7 @@ class DownloadPage(BasePage):
|
|||||||
# if no filenames at all, return???
|
# if no filenames at all, return???
|
||||||
if dlfname1 or dlfname2:
|
if dlfname1 or dlfname2:
|
||||||
|
|
||||||
of = self.report.create_file("download")
|
of, sio = self.report.create_file("download")
|
||||||
downloadpage, head, body = self.write_header(_('Download'))
|
downloadpage, head, body = self.write_header(_('Download'))
|
||||||
|
|
||||||
# begin download page and table
|
# begin download page and table
|
||||||
@@ -3812,7 +3812,7 @@ class DownloadPage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(downloadpage, of)
|
self.XHTMLWriter(downloadpage, of, sio)
|
||||||
|
|
||||||
class ContactPage(BasePage):
|
class ContactPage(BasePage):
|
||||||
|
|
||||||
@@ -3820,7 +3820,7 @@ class ContactPage(BasePage):
|
|||||||
BasePage.__init__(self, report, title)
|
BasePage.__init__(self, report, title)
|
||||||
db = report.database
|
db = report.database
|
||||||
|
|
||||||
of = self.report.create_file("contact")
|
of, sio = self.report.create_file("contact")
|
||||||
contactpage, head, body = self.write_header(_('Contact'))
|
contactpage, head, body = self.write_header(_('Contact'))
|
||||||
|
|
||||||
# begin contact division
|
# begin contact division
|
||||||
@@ -3879,7 +3879,7 @@ class ContactPage(BasePage):
|
|||||||
|
|
||||||
# send page out for porcessing
|
# send page out for porcessing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(contactpage, of)
|
self.XHTMLWriter(contactpage, of, sio)
|
||||||
|
|
||||||
class IndividualPage(BasePage):
|
class IndividualPage(BasePage):
|
||||||
"""
|
"""
|
||||||
@@ -3905,7 +3905,7 @@ class IndividualPage(BasePage):
|
|||||||
global place_lat_long
|
global place_lat_long
|
||||||
place_lat_long = []
|
place_lat_long = []
|
||||||
|
|
||||||
of = self.report.create_file(person.handle, "ppl")
|
of, sio = self.report.create_file(person.handle, "ppl")
|
||||||
self.up = True
|
self.up = True
|
||||||
indivdetpage, head, body = self.write_header(self.sort_name)
|
indivdetpage, head, body = self.write_header(self.sort_name)
|
||||||
self.familymappages = self.report.options['familymappages']
|
self.familymappages = self.report.options['familymappages']
|
||||||
@@ -3998,7 +3998,15 @@ class IndividualPage(BasePage):
|
|||||||
# create family map link
|
# create family map link
|
||||||
if self.familymappages:
|
if self.familymappages:
|
||||||
if len(place_lat_long):
|
if len(place_lat_long):
|
||||||
|
# save of, string_io and cur_fname before creating a new page
|
||||||
|
sof = of
|
||||||
|
sstring_io = sio
|
||||||
|
sfname = self.report.cur_fname
|
||||||
individualdetail += self.display_ind_family_map(person)
|
individualdetail += self.display_ind_family_map(person)
|
||||||
|
# restore of, string_io and cur_fname after creating a new page
|
||||||
|
of = sof
|
||||||
|
sio = sstring_io
|
||||||
|
self.report.cur_fname = sfname
|
||||||
|
|
||||||
# display pedigree
|
# display pedigree
|
||||||
sect13 = self.display_ind_pedigree()
|
sect13 = self.display_ind_pedigree()
|
||||||
@@ -4023,7 +4031,7 @@ class IndividualPage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(indivdetpage, of)
|
self.XHTMLWriter(indivdetpage, of, sio)
|
||||||
|
|
||||||
def __create_family_map(self, person):
|
def __create_family_map(self, person):
|
||||||
"""
|
"""
|
||||||
@@ -4090,7 +4098,7 @@ class IndividualPage(BasePage):
|
|||||||
# sort place_lat_long based on latitude and longitude order...
|
# sort place_lat_long based on latitude and longitude order...
|
||||||
place_lat_long.sort()
|
place_lat_long.sort()
|
||||||
|
|
||||||
of = self.report.create_file(person.handle, "maps")
|
of, sio = self.report.create_file(person.handle, "maps")
|
||||||
self.up = True
|
self.up = True
|
||||||
familymappage, head, body = self.write_header(_("Family Map"))
|
familymappage, head, body = self.write_header(_("Family Map"))
|
||||||
|
|
||||||
@@ -4326,7 +4334,7 @@ class IndividualPage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(familymappage, of)
|
self.XHTMLWriter(familymappage, of, sio)
|
||||||
|
|
||||||
def display_ind_family_map(self, person):
|
def display_ind_family_map(self, person):
|
||||||
"""
|
"""
|
||||||
@@ -5384,7 +5392,7 @@ class RepositoryListPage(BasePage):
|
|||||||
db = report.database
|
db = report.database
|
||||||
inc_repos = self.report.options["inc_repository"]
|
inc_repos = self.report.options["inc_repository"]
|
||||||
|
|
||||||
of = self.report.create_file("repositories")
|
of, sio = self.report.create_file("repositories")
|
||||||
repolistpage, head, body = self.write_header(_("Repositories"))
|
repolistpage, head, body = self.write_header(_("Repositories"))
|
||||||
|
|
||||||
# begin RepositoryList division
|
# begin RepositoryList division
|
||||||
@@ -5444,7 +5452,7 @@ class RepositoryListPage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(repolistpage, of)
|
self.XHTMLWriter(repolistpage, of, sio)
|
||||||
|
|
||||||
class RepositoryPage(BasePage):
|
class RepositoryPage(BasePage):
|
||||||
"""
|
"""
|
||||||
@@ -5455,7 +5463,7 @@ class RepositoryPage(BasePage):
|
|||||||
BasePage.__init__(self, report, title, gid)
|
BasePage.__init__(self, report, title, gid)
|
||||||
db = report.database
|
db = report.database
|
||||||
|
|
||||||
of = self.report.create_file(handle, 'repo')
|
of, sio = self.report.create_file(handle, 'repo')
|
||||||
self.up = True
|
self.up = True
|
||||||
repositorypage, head, body = self.write_header(_('Repositories'))
|
repositorypage, head, body = self.write_header(_('Repositories'))
|
||||||
|
|
||||||
@@ -5511,7 +5519,7 @@ class RepositoryPage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(repositorypage, of)
|
self.XHTMLWriter(repositorypage, of, sio)
|
||||||
|
|
||||||
class AddressBookListPage(BasePage):
|
class AddressBookListPage(BasePage):
|
||||||
|
|
||||||
@@ -5526,7 +5534,7 @@ class AddressBookListPage(BasePage):
|
|||||||
db = report.database
|
db = report.database
|
||||||
|
|
||||||
# Name the file, and create it
|
# Name the file, and create it
|
||||||
of = self.report.create_file("addressbook")
|
of, sio = self.report.create_file("addressbook")
|
||||||
|
|
||||||
# Add xml, doctype, meta and stylesheets
|
# Add xml, doctype, meta and stylesheets
|
||||||
addressbooklistpage, head, body = self.write_header(_("Address Book"))
|
addressbooklistpage, head, body = self.write_header(_("Address Book"))
|
||||||
@@ -5610,7 +5618,7 @@ class AddressBookListPage(BasePage):
|
|||||||
|
|
||||||
# send the page out for processing
|
# send the page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(addressbooklistpage, of)
|
self.XHTMLWriter(addressbooklistpage, of, sio)
|
||||||
|
|
||||||
class AddressBookPage(BasePage):
|
class AddressBookPage(BasePage):
|
||||||
|
|
||||||
@@ -5631,7 +5639,7 @@ class AddressBookPage(BasePage):
|
|||||||
self.up = True
|
self.up = True
|
||||||
|
|
||||||
# set the file name and open file
|
# set the file name and open file
|
||||||
of = self.report.create_file(person_handle, "addr")
|
of, sio = self.report.create_file(person_handle, "addr")
|
||||||
addressbookpage, head, body = self.write_header(_("Address Book"))
|
addressbookpage, head, body = self.write_header(_("Address Book"))
|
||||||
|
|
||||||
# begin address book page division and section title
|
# begin address book page division and section title
|
||||||
@@ -5663,7 +5671,7 @@ class AddressBookPage(BasePage):
|
|||||||
|
|
||||||
# send page out for processing
|
# send page out for processing
|
||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(addressbookpage, of)
|
self.XHTMLWriter(addressbookpage, of, sio)
|
||||||
|
|
||||||
class NavWebReport(Report):
|
class NavWebReport(Report):
|
||||||
|
|
||||||
@@ -6000,12 +6008,15 @@ class NavWebReport(Report):
|
|||||||
|
|
||||||
if self.inc_gendex:
|
if self.inc_gendex:
|
||||||
self.progress.set_pass(_('Creating GENDEX file'), len(ind_list))
|
self.progress.set_pass(_('Creating GENDEX file'), len(ind_list))
|
||||||
fp_gendex = self.create_file("gendex", ext=".txt")
|
fp_gendex, gendex_io = self.create_file("gendex", ext=".txt")
|
||||||
for person_handle in ind_list:
|
for person_handle in ind_list:
|
||||||
self.progress.step()
|
self.progress.step()
|
||||||
person = self.database.get_person_from_handle(person_handle)
|
person = self.database.get_person_from_handle(person_handle)
|
||||||
|
if self.archive:
|
||||||
|
self.write_gendex(gendex_io, person)
|
||||||
|
else:
|
||||||
self.write_gendex(fp_gendex, person)
|
self.write_gendex(fp_gendex, person)
|
||||||
self.close_file(fp_gendex)
|
self.close_file(fp_gendex, gendex_io)
|
||||||
|
|
||||||
def write_gendex(self, fp, person):
|
def write_gendex(self, fp, person):
|
||||||
"""
|
"""
|
||||||
@@ -6345,10 +6356,11 @@ class NavWebReport(Report):
|
|||||||
else:
|
else:
|
||||||
self.cur_fname = fname + ext
|
self.cur_fname = fname + ext
|
||||||
if self.archive:
|
if self.archive:
|
||||||
self.string_io = StringIO()
|
string_io = StringIO()
|
||||||
of = codecs.EncodedFile(self.string_io, 'utf-8',
|
of = codecs.EncodedFile(string_io, 'utf-8',
|
||||||
self.encoding, 'xmlcharrefreplace')
|
self.encoding, 'xmlcharrefreplace')
|
||||||
else:
|
else:
|
||||||
|
string_io = None
|
||||||
if subdir:
|
if subdir:
|
||||||
subdir = os.path.join(self.html_dir, subdir)
|
subdir = os.path.join(self.html_dir, subdir)
|
||||||
if not os.path.isdir(subdir):
|
if not os.path.isdir(subdir):
|
||||||
@@ -6356,27 +6368,25 @@ class NavWebReport(Report):
|
|||||||
fname = os.path.join(self.html_dir, self.cur_fname)
|
fname = os.path.join(self.html_dir, self.cur_fname)
|
||||||
of = codecs.EncodedFile(open(fname, "w"), 'utf-8',
|
of = codecs.EncodedFile(open(fname, "w"), 'utf-8',
|
||||||
self.encoding, 'xmlcharrefreplace')
|
self.encoding, 'xmlcharrefreplace')
|
||||||
return of
|
return (of, string_io)
|
||||||
|
|
||||||
def close_file(self, of):
|
def close_file(self, of, string_io):
|
||||||
"""
|
"""
|
||||||
will close any file passed to it
|
will close any file passed to it
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if self.archive:
|
if self.archive:
|
||||||
tarinfo = tarfile.TarInfo(self.cur_fname)
|
tarinfo = tarfile.TarInfo(self.cur_fname)
|
||||||
tarinfo.size = len(self.string_io.getvalue())
|
tarinfo.size = len(string_io.getvalue())
|
||||||
tarinfo.mtime = time.time()
|
tarinfo.mtime = time.time()
|
||||||
if not constfunc.win():
|
if not constfunc.win():
|
||||||
tarinfo.uid = os.getuid()
|
tarinfo.uid = os.getuid()
|
||||||
tarinfo.gid = os.getgid()
|
tarinfo.gid = os.getgid()
|
||||||
self.string_io.seek(0)
|
string_io.seek(0)
|
||||||
self.archive.addfile(tarinfo, self.string_io)
|
self.archive.addfile(tarinfo, string_io)
|
||||||
self.string_io = None
|
|
||||||
of.close()
|
of.close()
|
||||||
else:
|
else:
|
||||||
of.close()
|
of.close()
|
||||||
self.cur_fname = None
|
|
||||||
|
|
||||||
def add_lnkref_to_photo(self, photo, lnkref):
|
def add_lnkref_to_photo(self, photo, lnkref):
|
||||||
"""
|
"""
|
||||||
|
Reference in New Issue
Block a user