GENDEX index generation
svn: r989
This commit is contained in:
parent
061645d734
commit
6b21ab775d
@ -685,8 +685,9 @@ class ReportDialog:
|
|||||||
self.filter_combo = GtkOptionMenu()
|
self.filter_combo = GtkOptionMenu()
|
||||||
l = GtkLabel(_("Filter"))
|
l = GtkLabel(_("Filter"))
|
||||||
l.set_alignment(1.0,0.5)
|
l.set_alignment(1.0,0.5)
|
||||||
table.attach(l,0,1,row,row+1,FILL,FILL,pad,pad)
|
table.attach(l,0,1,row,row+1,xoptions=FILL,yoptions=0,
|
||||||
table.attach(self.filter_combo,1,2,row,row+1,
|
xpadding=pad,ypadding=pad)
|
||||||
|
table.attach(self.filter_combo,1,2,row,row+1,yoptions=0,
|
||||||
xpadding=pad,ypadding=pad)
|
xpadding=pad,ypadding=pad)
|
||||||
|
|
||||||
menu = GenericFilter.build_filter_menu(local_filters)
|
menu = GenericFilter.build_filter_menu(local_filters)
|
||||||
@ -704,9 +705,10 @@ class ReportDialog:
|
|||||||
adjustment.value_changed()
|
adjustment.value_changed()
|
||||||
l = GtkLabel(_("Generations"))
|
l = GtkLabel(_("Generations"))
|
||||||
l.set_alignment(1.0,0.5)
|
l.set_alignment(1.0,0.5)
|
||||||
table.attach(l,0,1,row,row+1,FILL,FILL,pad,pad)
|
table.attach(l,0,1,row,row+1,xoptions=FILL,yoptions=0,
|
||||||
table.attach(self.generations_spinbox,1,2,row,row+1,
|
|
||||||
xpadding=pad,ypadding=pad)
|
xpadding=pad,ypadding=pad)
|
||||||
|
table.attach(self.generations_spinbox,1,2,row,row+1,
|
||||||
|
yoptions=0, xpadding=pad,ypadding=pad)
|
||||||
row = row + 1
|
row = row + 1
|
||||||
|
|
||||||
if use_break:
|
if use_break:
|
||||||
@ -726,8 +728,8 @@ class ReportDialog:
|
|||||||
self.extra_menu.set_sensitive(len(extra_map) > 1)
|
self.extra_menu.set_sensitive(len(extra_map) > 1)
|
||||||
self.add_tooltip(self.extra_menu,em_tip)
|
self.add_tooltip(self.extra_menu,em_tip)
|
||||||
table.attach(self.extra_menu_label,0,1,row,row+1,
|
table.attach(self.extra_menu_label,0,1,row,row+1,
|
||||||
FILL,FILL,pad,pad)
|
xoptions=FILL,yoptions=0,xpadding=pad,ypadding=pad)
|
||||||
table.attach(self.extra_menu,1,2,row,row+1,
|
table.attach(self.extra_menu,1,2,row,row+1,yoptions=0,
|
||||||
xpadding=pad,ypadding=pad)
|
xpadding=pad,ypadding=pad)
|
||||||
row = row + 1
|
row = row + 1
|
||||||
|
|
||||||
@ -739,19 +741,21 @@ class ReportDialog:
|
|||||||
self.extra_textbox.insert_defaults(string)
|
self.extra_textbox.insert_defaults(string)
|
||||||
self.extra_textbox.set_editable(1)
|
self.extra_textbox.set_editable(1)
|
||||||
self.add_tooltip(self.extra_textbox,et_tip)
|
self.add_tooltip(self.extra_textbox,et_tip)
|
||||||
table.attach(self.extra_textbox_label,0,1,row,row+1,FILL,FILL,pad,pad)
|
table.attach(self.extra_textbox_label,0,1,row,row+1,xoptions=FILL,
|
||||||
table.attach(self.extra_textbox,1,2,row,row+1,xpadding=pad,ypadding=pad)
|
yoptions=0,xpadding=pad,ypadding=pad)
|
||||||
|
table.attach(self.extra_textbox,1,2,row,row+1,
|
||||||
|
yoptions=0,xpadding=pad,ypadding=pad)
|
||||||
row = row + 1
|
row = row + 1
|
||||||
|
|
||||||
# Setup requested widgets
|
# Setup requested widgets
|
||||||
for (text,widget) in self.widgets:
|
for (text,widget) in self.widgets:
|
||||||
if text == None:
|
if text == None:
|
||||||
table.attach(widget,0,2,row,row+1,xpadding=pad,ypadding=pad)
|
table.attach(widget,0,2,row,row+1,yoptions=0,xpadding=pad,ypadding=pad)
|
||||||
else:
|
else:
|
||||||
text_widget = GtkLabel(text)
|
text_widget = GtkLabel(text)
|
||||||
text_widget.set_alignment(1.0,0)
|
text_widget.set_alignment(1.0,0)
|
||||||
table.attach(text_widget,0,1,row,row+1,FILL,FILL,pad,pad)
|
table.attach(text_widget,0,1,row,row+1,yoptions=0,xpadding=pad,ypadding=pad)
|
||||||
table.attach(widget,1,2,row,row+1,xpadding=pad,ypadding=pad)
|
table.attach(widget,1,2,row,row+1,yoptions=0,xpadding=pad,ypadding=pad)
|
||||||
row = row + 1
|
row = row + 1
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@ from HtmlDoc import *
|
|||||||
import const
|
import const
|
||||||
import GrampsCfg
|
import GrampsCfg
|
||||||
import GenericFilter
|
import GenericFilter
|
||||||
|
import Date
|
||||||
import intl
|
import intl
|
||||||
_ = intl.gettext
|
_ = intl.gettext
|
||||||
|
|
||||||
@ -41,6 +42,10 @@ from gnome.ui import *
|
|||||||
from libglade import *
|
from libglade import *
|
||||||
from Report import *
|
from Report import *
|
||||||
|
|
||||||
|
_month = [
|
||||||
|
"", "JAN", "FEB", "MAR", "APR", "MAY", "JUN",
|
||||||
|
"JUL", "AUG", "SEP", "OCT", "NOV", "DEC" ]
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
@ -561,7 +566,7 @@ class IndividualPage:
|
|||||||
class WebReport(Report):
|
class WebReport(Report):
|
||||||
def __init__(self,db,person,target_path,max_gen,photos,filter,restrict,
|
def __init__(self,db,person,target_path,max_gen,photos,filter,restrict,
|
||||||
private, srccomments, include_link, style, image_dir,
|
private, srccomments, include_link, style, image_dir,
|
||||||
template_name,use_id,id_link):
|
template_name,use_id,id_link,gendex):
|
||||||
self.db = db
|
self.db = db
|
||||||
self.use_id = use_id
|
self.use_id = use_id
|
||||||
self.id_link = id_link
|
self.id_link = id_link
|
||||||
@ -576,17 +581,96 @@ class WebReport(Report):
|
|||||||
self.include_link = include_link
|
self.include_link = include_link
|
||||||
self.selected_style = style
|
self.selected_style = style
|
||||||
self.image_dir = image_dir
|
self.image_dir = image_dir
|
||||||
|
self.use_gendex = gendex
|
||||||
self.template_name = template_name
|
self.template_name = template_name
|
||||||
|
|
||||||
def get_progressbar_data(self):
|
def get_progressbar_data(self):
|
||||||
return (_("Generate HTML reports - GRAMPS"), _("Creating Web Pages"))
|
return (_("Generate HTML reports - GRAMPS"), _("Creating Web Pages"))
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
def make_date(self,date):
|
||||||
#
|
start = date.get_start_date()
|
||||||
# Writes a index file, listing all people in the person list.
|
if date.isEmpty():
|
||||||
#
|
val = date.getText()
|
||||||
#------------------------------------------------------------------------
|
elif date.isRange():
|
||||||
|
val = "FROM %s TO %s" % (self.subdate(start),
|
||||||
|
self.subdate(date.get_stop_date()))
|
||||||
|
else:
|
||||||
|
val = self.subdate(start)
|
||||||
|
return val
|
||||||
|
|
||||||
|
def subdate(self,subdate):
|
||||||
|
retval = ""
|
||||||
|
day = subdate.getDay()
|
||||||
|
mon = subdate.getMonth()
|
||||||
|
year = subdate.getYear()
|
||||||
|
mode = subdate.getModeVal()
|
||||||
|
day_valid = subdate.getDayValid()
|
||||||
|
mon_valid = subdate.getMonthValid()
|
||||||
|
year_valid = subdate.getYearValid()
|
||||||
|
|
||||||
|
if not day_valid:
|
||||||
|
try:
|
||||||
|
if not mon_valid:
|
||||||
|
retval = str(year)
|
||||||
|
elif not year_valid:
|
||||||
|
retval = _month[mon]
|
||||||
|
else:
|
||||||
|
retval = "%s %d" % (_month[mon],year)
|
||||||
|
except IndexError:
|
||||||
|
print "Month index error - %d" % mon
|
||||||
|
retval = str(year)
|
||||||
|
elif not mon_valid:
|
||||||
|
retval = str(year)
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
month = _month[mon]
|
||||||
|
if not year_valid:
|
||||||
|
retval = "%d %s ????" % (day,month)
|
||||||
|
else:
|
||||||
|
retval = "%d %s %d" % (day,month,year)
|
||||||
|
except IndexError:
|
||||||
|
print "Month index error - %d" % mon
|
||||||
|
retval = str(year)
|
||||||
|
if mode == Date.SingleDate.about:
|
||||||
|
retval = "ABT %s" % retval
|
||||||
|
elif mode == Date.SingleDate.before:
|
||||||
|
retval = "BEF %s" % retval
|
||||||
|
elif mode == Date.SingleDate.after:
|
||||||
|
retval = "AFT %s" % retval
|
||||||
|
return retval
|
||||||
|
|
||||||
|
def dump_gendex(self,person_list,html_dir):
|
||||||
|
fname = "%s/gendex.txt" % html_dir
|
||||||
|
try:
|
||||||
|
f = open(fname,"w")
|
||||||
|
except:
|
||||||
|
return
|
||||||
|
for p in person_list:
|
||||||
|
name = p.getPrimaryName()
|
||||||
|
firstName = name.getFirstName()
|
||||||
|
surName = name.getSurname()
|
||||||
|
suffix = name.getSuffix()
|
||||||
|
|
||||||
|
f.write("%s.html|" % p.getId())
|
||||||
|
f.write("%s|" % surName)
|
||||||
|
if suffix == "":
|
||||||
|
f.write("%s /%s/" % (firstName,surName))
|
||||||
|
else:
|
||||||
|
f.write("%s /%s/, %s" % (firstName,surName, suffix))
|
||||||
|
for e in [p.getBirth(),p.getDeath()]:
|
||||||
|
if e:
|
||||||
|
f.write("%s|" % self.make_date(e.getDateObj()))
|
||||||
|
if e.getPlace():
|
||||||
|
f.write('%s|' % e.getPlace().get_title())
|
||||||
|
else:
|
||||||
|
f.write('|')
|
||||||
|
else:
|
||||||
|
f.write('||')
|
||||||
|
f.write('\n')
|
||||||
|
f.close()
|
||||||
|
|
||||||
def dump_index(self,person_list,styles,template,html_dir):
|
def dump_index(self,person_list,styles,template,html_dir):
|
||||||
|
"""Writes a index file, listing all people in the person list."""
|
||||||
|
|
||||||
doc = HtmlLinkDoc(self.selected_style,None,template,None)
|
doc = HtmlLinkDoc(self.selected_style,None,template,None)
|
||||||
doc.set_title(_("Family Tree Index"))
|
doc.set_title(_("Family Tree Index"))
|
||||||
@ -702,6 +786,8 @@ class WebReport(Report):
|
|||||||
if len(ind_list) > 1:
|
if len(ind_list) > 1:
|
||||||
self.dump_index(ind_list,self.selected_style,
|
self.dump_index(ind_list,self.selected_style,
|
||||||
self.template_name,dir_name)
|
self.template_name,dir_name)
|
||||||
|
if self.use_gendex == 1:
|
||||||
|
self.dump_gendex(ind_list,dir_name)
|
||||||
self.progress_bar_done()
|
self.progress_bar_done()
|
||||||
|
|
||||||
def add_styles(self,doc):
|
def add_styles(self,doc):
|
||||||
@ -739,6 +825,7 @@ class WebReportDialog(ReportDialog):
|
|||||||
no_limg_msg = _("Do not use images for living people")
|
no_limg_msg = _("Do not use images for living people")
|
||||||
no_com_msg = _("Do not include comments and text in source information")
|
no_com_msg = _("Do not include comments and text in source information")
|
||||||
include_id_msg = _("Include the GRAMPS ID in the report")
|
include_id_msg = _("Include the GRAMPS ID in the report")
|
||||||
|
gendex_msg = _("Create a GENDEX index")
|
||||||
imgdir_msg = _("Image subdirectory")
|
imgdir_msg = _("Image subdirectory")
|
||||||
|
|
||||||
self.use_link = GtkCheckButton(lnk_msg)
|
self.use_link = GtkCheckButton(lnk_msg)
|
||||||
@ -750,6 +837,7 @@ class WebReportDialog(ReportDialog):
|
|||||||
self.no_living_images = GtkCheckButton(no_limg_msg)
|
self.no_living_images = GtkCheckButton(no_limg_msg)
|
||||||
self.no_comments = GtkCheckButton(no_com_msg)
|
self.no_comments = GtkCheckButton(no_com_msg)
|
||||||
self.include_id = GtkCheckButton(include_id_msg)
|
self.include_id = GtkCheckButton(include_id_msg)
|
||||||
|
self.gendex = GtkCheckButton(gendex_msg)
|
||||||
self.imgdir = GtkEntry()
|
self.imgdir = GtkEntry()
|
||||||
self.imgdir.set_text("images")
|
self.imgdir.set_text("images")
|
||||||
self.linkpath = GtkEntry()
|
self.linkpath = GtkEntry()
|
||||||
@ -769,6 +857,7 @@ class WebReportDialog(ReportDialog):
|
|||||||
title = _('Advanced')
|
title = _('Advanced')
|
||||||
self.add_frame_option(title,'',self.include_id)
|
self.add_frame_option(title,'',self.include_id)
|
||||||
self.add_frame_option(title,_('GRAMPS ID link URL'),self.linkpath)
|
self.add_frame_option(title,_('GRAMPS ID link URL'),self.linkpath)
|
||||||
|
self.add_frame_option(title,'',self.gendex)
|
||||||
|
|
||||||
self.no_images.connect('toggled',self.on_nophotos_toggled)
|
self.no_images.connect('toggled',self.on_nophotos_toggled)
|
||||||
|
|
||||||
@ -992,6 +1081,7 @@ class WebReportDialog(ReportDialog):
|
|||||||
self.img_dir_text = self.imgdir.get_text()
|
self.img_dir_text = self.imgdir.get_text()
|
||||||
|
|
||||||
self.use_id = self.include_id.get_active()
|
self.use_id = self.include_id.get_active()
|
||||||
|
self.use_gendex = self.gendex.get_active()
|
||||||
self.id_link = string.strip(self.linkpath.get_text())
|
self.id_link = string.strip(self.linkpath.get_text())
|
||||||
self.srccomments = self.no_comments.get_active()
|
self.srccomments = self.no_comments.get_active()
|
||||||
if self.no_images.get_active() == 1:
|
if self.no_images.get_active() == 1:
|
||||||
@ -1028,7 +1118,7 @@ class WebReportDialog(ReportDialog):
|
|||||||
self.restrict, self.private, self.srccomments,
|
self.restrict, self.private, self.srccomments,
|
||||||
self.include_link, self.selected_style,
|
self.include_link, self.selected_style,
|
||||||
self.img_dir_text,self.template_name,
|
self.img_dir_text,self.template_name,
|
||||||
self.use_id,self.id_link)
|
self.use_id,self.id_link,self.use_gendex)
|
||||||
MyReport.write_report()
|
MyReport.write_report()
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user