Improved Webpage format
svn: r227
This commit is contained in:
parent
0bdd8e65f7
commit
aeee333bb8
@ -210,6 +210,22 @@ class HtmlDoc(TextDoc):
|
|||||||
utils.fl2txt("%.2f",style.get_right_margin()))
|
utils.fl2txt("%.2f",style.get_right_margin()))
|
||||||
self.f.write('margin-left:%scm; ' % \
|
self.f.write('margin-left:%scm; ' % \
|
||||||
utils.fl2txt("%.2f",style.get_left_margin()))
|
utils.fl2txt("%.2f",style.get_left_margin()))
|
||||||
|
if style.get_top_border():
|
||||||
|
self.f.write('border-top:thin solid #000000; ')
|
||||||
|
else:
|
||||||
|
self.f.write('border-top:none; ')
|
||||||
|
if style.get_bottom_border():
|
||||||
|
self.f.write('border-bottom:thin solid #000000; ')
|
||||||
|
else:
|
||||||
|
self.f.write('border-bottom:none; ')
|
||||||
|
if style.get_right_border():
|
||||||
|
self.f.write('border-right:thin solid #000000; ')
|
||||||
|
else:
|
||||||
|
self.f.write('border-right:none; ')
|
||||||
|
if style.get_left_border():
|
||||||
|
self.f.write('border-left:thin solid #000000; ')
|
||||||
|
else:
|
||||||
|
self.f.write('border-left:none; ')
|
||||||
if font.get_italic():
|
if font.get_italic():
|
||||||
self.f.write('font-style:italic; ')
|
self.f.write('font-style:italic; ')
|
||||||
if font.get_bold():
|
if font.get_bold():
|
||||||
|
@ -53,6 +53,15 @@ no_photos = 0
|
|||||||
styles = StyleSheet()
|
styles = StyleSheet()
|
||||||
style_sheet_list = None
|
style_sheet_list = None
|
||||||
|
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
def by_date(a,b):
|
||||||
|
return compare_dates(a.getDateObj(),b.getDateObj())
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
@ -100,11 +109,6 @@ class IndividualPage:
|
|||||||
tbl.set_column_widths([15,15,70])
|
tbl.set_column_widths([15,15,70])
|
||||||
self.doc.add_table_style("FamTable",tbl)
|
self.doc.add_table_style("FamTable",tbl)
|
||||||
|
|
||||||
cell = TableCellStyle()
|
|
||||||
cell.set_top_border(1)
|
|
||||||
cell.set_bottom_border(1)
|
|
||||||
self.doc.add_cell_style("TableHead",cell)
|
|
||||||
|
|
||||||
cell = TableCellStyle()
|
cell = TableCellStyle()
|
||||||
self.doc.add_cell_style("NormalCell",cell)
|
self.doc.add_cell_style("NormalCell",cell)
|
||||||
|
|
||||||
@ -118,14 +122,46 @@ class IndividualPage:
|
|||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
def write_normal_row(self,list):
|
def write_normal_row(self,list):
|
||||||
self.doc.start_row()
|
self.doc.start_row()
|
||||||
|
first = 1
|
||||||
for i in list:
|
for i in list:
|
||||||
self.doc.start_cell("NormalCell")
|
self.doc.start_cell("NormalCell")
|
||||||
self.doc.start_paragraph("Normal")
|
if first == 1:
|
||||||
|
self.doc.start_paragraph("Label")
|
||||||
|
else:
|
||||||
|
self.doc.start_paragraph("Data")
|
||||||
|
first = 0
|
||||||
self.doc.write_text(i)
|
self.doc.write_text(i)
|
||||||
self.doc.end_paragraph()
|
self.doc.end_paragraph()
|
||||||
self.doc.end_cell()
|
self.doc.end_cell()
|
||||||
self.doc.end_row()
|
self.doc.end_row()
|
||||||
|
|
||||||
|
#--------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#--------------------------------------------------------------------
|
||||||
|
def write_marriage_row(self,list):
|
||||||
|
self.doc.start_row()
|
||||||
|
|
||||||
|
self.doc.start_cell("NormalCell")
|
||||||
|
self.doc.start_paragraph("Label")
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
self.doc.end_cell()
|
||||||
|
|
||||||
|
self.doc.start_cell("NormalCell")
|
||||||
|
self.doc.start_paragraph("Label")
|
||||||
|
self.doc.write_text(list[1])
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
self.doc.end_cell()
|
||||||
|
|
||||||
|
self.doc.start_cell("NormalCell")
|
||||||
|
self.doc.start_paragraph("Data")
|
||||||
|
self.doc.write_text(list[2])
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
self.doc.end_cell()
|
||||||
|
|
||||||
|
self.doc.end_row()
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
@ -134,13 +170,13 @@ class IndividualPage:
|
|||||||
def write_link_row(self,title,person):
|
def write_link_row(self,title,person):
|
||||||
self.doc.start_row()
|
self.doc.start_row()
|
||||||
self.doc.start_cell("NormalCell")
|
self.doc.start_cell("NormalCell")
|
||||||
self.doc.start_paragraph("Normal")
|
self.doc.start_paragraph("Label")
|
||||||
self.doc.write_text(title)
|
self.doc.write_text(title)
|
||||||
self.doc.end_paragraph()
|
self.doc.end_paragraph()
|
||||||
self.doc.end_cell()
|
self.doc.end_cell()
|
||||||
|
|
||||||
self.doc.start_cell("NormalCell")
|
self.doc.start_cell("NormalCell")
|
||||||
self.doc.start_paragraph("Normal")
|
self.doc.start_paragraph("Data")
|
||||||
if person:
|
if person:
|
||||||
if person in self.list:
|
if person in self.list:
|
||||||
self.doc.start_link("i%s.html" % str(person.getId()))
|
self.doc.start_link("i%s.html" % str(person.getId()))
|
||||||
@ -167,12 +203,12 @@ class IndividualPage:
|
|||||||
self.doc.write_text(_("Summary of %s") % name)
|
self.doc.write_text(_("Summary of %s") % name)
|
||||||
self.doc.end_paragraph()
|
self.doc.end_paragraph()
|
||||||
|
|
||||||
self.doc.start_paragraph("Normal")
|
self.doc.start_paragraph("Data")
|
||||||
self.doc.end_paragraph()
|
self.doc.end_paragraph()
|
||||||
|
|
||||||
if self.photos and len(photo_list) > 0:
|
if self.photos and len(photo_list) > 0:
|
||||||
file = photo_list[0].getPath()
|
file = photo_list[0].getPath()
|
||||||
self.doc.start_paragraph("Normal")
|
self.doc.start_paragraph("Data")
|
||||||
self.doc.add_photo(file,4.0,4.0)
|
self.doc.add_photo(file,4.0,4.0)
|
||||||
self.doc.end_paragraph()
|
self.doc.end_paragraph()
|
||||||
|
|
||||||
@ -190,20 +226,17 @@ class IndividualPage:
|
|||||||
else:
|
else:
|
||||||
self.write_link_row("%s:" % _("Father"), None)
|
self.write_link_row("%s:" % _("Father"), None)
|
||||||
self.write_link_row("%s:" % _("Mother"), None)
|
self.write_link_row("%s:" % _("Mother"), None)
|
||||||
if self.person.getNote() != "":
|
|
||||||
note = string.replace(self.person.getNote(),"\n","<br>")
|
|
||||||
self.write_normal_row(["%s:" % _("Notes"), note])
|
|
||||||
|
|
||||||
self.doc.end_table()
|
self.doc.end_table()
|
||||||
|
|
||||||
self.doc.start_paragraph("Normal")
|
self.doc.start_paragraph("Data")
|
||||||
self.doc.end_paragraph()
|
self.doc.end_paragraph()
|
||||||
|
|
||||||
self.write_facts()
|
self.write_facts()
|
||||||
|
self.write_notes()
|
||||||
self.write_families()
|
self.write_families()
|
||||||
|
|
||||||
if self.link:
|
if self.link:
|
||||||
self.doc.start_paragraph("Normal")
|
self.doc.start_paragraph("Data")
|
||||||
self.doc.start_link("index.html")
|
self.doc.start_link("index.html")
|
||||||
self.doc.write_text(_("Return to the index of people"))
|
self.doc.write_text(_("Return to the index of people"))
|
||||||
self.doc.end_link()
|
self.doc.end_link()
|
||||||
@ -224,18 +257,15 @@ class IndividualPage:
|
|||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
def write_facts(self):
|
def write_facts(self):
|
||||||
|
|
||||||
self.doc.start_table("two","IndTable")
|
self.doc.start_paragraph("EventsTitle")
|
||||||
|
self.doc.write_text(_("Facts and Events"))
|
||||||
self.doc.start_row()
|
|
||||||
self.doc.start_cell("TableHead",2)
|
|
||||||
self.doc.start_paragraph("TableTitle")
|
|
||||||
self.doc.write_text(_("Individual Facts"))
|
|
||||||
self.doc.end_paragraph()
|
self.doc.end_paragraph()
|
||||||
self.doc.end_cell()
|
|
||||||
self.doc.end_row()
|
self.doc.start_table("two","IndTable")
|
||||||
|
|
||||||
event_list = [ self.person.getBirth(), self.person.getDeath() ]
|
event_list = [ self.person.getBirth(), self.person.getDeath() ]
|
||||||
event_list = event_list + self.person.getEventList()
|
event_list = event_list + self.person.getEventList()
|
||||||
|
event_list.sort(by_date)
|
||||||
for event in event_list:
|
for event in event_list:
|
||||||
name = _(event.getName())
|
name = _(event.getName())
|
||||||
date = event.getDate()
|
date = event.getDate()
|
||||||
@ -245,17 +275,35 @@ class IndividualPage:
|
|||||||
if place == "":
|
if place == "":
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
val = place + ". " + description
|
val = "%s. %s" % (place,description)
|
||||||
else:
|
else:
|
||||||
if place == "":
|
if place == "":
|
||||||
val = date + ". " + description
|
val = "%s. %s" % (date,description)
|
||||||
else:
|
else:
|
||||||
val = date + " in " + place + ". " + description
|
val = _("%s in %s. %s") % (date,place,description)
|
||||||
|
|
||||||
self.write_normal_row([name, val])
|
self.write_normal_row([name, val])
|
||||||
|
|
||||||
self.doc.end_table()
|
self.doc.end_table()
|
||||||
|
|
||||||
|
#--------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#--------------------------------------------------------------------
|
||||||
|
def write_notes(self):
|
||||||
|
|
||||||
|
if self.person.getNote() == "":
|
||||||
|
return
|
||||||
|
|
||||||
|
self.doc.start_paragraph("NotesTitle")
|
||||||
|
self.doc.write_text(_("Notes"))
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
|
||||||
|
self.doc.start_paragraph("NotesParagraph")
|
||||||
|
self.doc.write_text(self.person.getNote())
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
@ -273,14 +321,14 @@ class IndividualPage:
|
|||||||
if place == "":
|
if place == "":
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
val = place + ". " + description
|
val = "%s. %s" % (place,description)
|
||||||
else:
|
else:
|
||||||
if place == "":
|
if place == "":
|
||||||
val = date + ". " + description
|
val = "%s. %s" % (date,description)
|
||||||
else:
|
else:
|
||||||
val = date + " in " + place + ". " + description
|
val = "%s, %s. %s" % (date,place,description)
|
||||||
|
|
||||||
self.write_normal_row(["",name, val])
|
self.write_marriage_row(["",name, val])
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -288,16 +336,11 @@ class IndividualPage:
|
|||||||
#
|
#
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
def write_families(self):
|
def write_families(self):
|
||||||
self.doc.start_paragraph("Normal")
|
self.doc.start_paragraph("FamilyTitle")
|
||||||
self.doc.end_paragraph()
|
|
||||||
self.doc.start_table("three","FamTable")
|
|
||||||
self.doc.start_row()
|
|
||||||
self.doc.start_cell("TableHead",3)
|
|
||||||
self.doc.start_paragraph("TableTitle")
|
|
||||||
self.doc.write_text(_("Marriages/Children"))
|
self.doc.write_text(_("Marriages/Children"))
|
||||||
self.doc.end_paragraph()
|
self.doc.end_paragraph()
|
||||||
self.doc.end_cell()
|
|
||||||
self.doc.end_row()
|
self.doc.start_table("three","FamTable")
|
||||||
|
|
||||||
for family in self.person.getFamilyList():
|
for family in self.person.getFamilyList():
|
||||||
if self.person == family.getFather():
|
if self.person == family.getFather():
|
||||||
@ -326,19 +369,19 @@ class IndividualPage:
|
|||||||
if len(child_list) > 0:
|
if len(child_list) > 0:
|
||||||
self.doc.start_row()
|
self.doc.start_row()
|
||||||
self.doc.start_cell("NormalCell")
|
self.doc.start_cell("NormalCell")
|
||||||
self.doc.start_paragraph("Normal")
|
self.doc.start_paragraph("Data")
|
||||||
self.doc.write_text("")
|
self.doc.write_text("")
|
||||||
self.doc.end_paragraph()
|
self.doc.end_paragraph()
|
||||||
self.doc.end_cell()
|
self.doc.end_cell()
|
||||||
|
|
||||||
self.doc.start_cell("NormalCell")
|
self.doc.start_cell("NormalCell")
|
||||||
self.doc.start_paragraph("Normal")
|
self.doc.start_paragraph("Label")
|
||||||
self.doc.write_text(_("Children"))
|
self.doc.write_text(_("Children"))
|
||||||
self.doc.end_paragraph()
|
self.doc.end_paragraph()
|
||||||
self.doc.end_cell()
|
self.doc.end_cell()
|
||||||
|
|
||||||
self.doc.start_cell("NormalCell")
|
self.doc.start_cell("NormalCell")
|
||||||
self.doc.start_paragraph("Normal")
|
self.doc.start_paragraph("Data")
|
||||||
|
|
||||||
first = 1
|
first = 1
|
||||||
for child in family.getChildList():
|
for child in family.getChildList():
|
||||||
@ -501,8 +544,20 @@ def report(database,person):
|
|||||||
font = FontStyle()
|
font = FontStyle()
|
||||||
font.set(bold=1,face=FONT_SANS_SERIF,size=12,italic=1)
|
font.set(bold=1,face=FONT_SANS_SERIF,size=12,italic=1)
|
||||||
p = ParagraphStyle()
|
p = ParagraphStyle()
|
||||||
p.set_font(font)
|
p.set(font=font,bborder=1)
|
||||||
styles.add_style("TableTitle",p)
|
styles.add_style("EventsTitle",p)
|
||||||
|
|
||||||
|
font = FontStyle()
|
||||||
|
font.set(bold=1,face=FONT_SANS_SERIF,size=12,italic=1)
|
||||||
|
p = ParagraphStyle()
|
||||||
|
p.set(font=font,bborder=1)
|
||||||
|
styles.add_style("NotesTitle",p)
|
||||||
|
|
||||||
|
font = FontStyle()
|
||||||
|
font.set(bold=1,face=FONT_SANS_SERIF,size=12,italic=1)
|
||||||
|
p = ParagraphStyle()
|
||||||
|
p.set(font=font,bborder=1)
|
||||||
|
styles.add_style("FamilyTitle",p)
|
||||||
|
|
||||||
font = FontStyle()
|
font = FontStyle()
|
||||||
font.set(bold=1,face=FONT_SANS_SERIF,size=12)
|
font.set(bold=1,face=FONT_SANS_SERIF,size=12)
|
||||||
@ -514,7 +569,20 @@ def report(database,person):
|
|||||||
font.set_size(12)
|
font.set_size(12)
|
||||||
p = ParagraphStyle()
|
p = ParagraphStyle()
|
||||||
p.set_font(font)
|
p.set_font(font)
|
||||||
styles.add_style("Normal",p)
|
styles.add_style("Data",p)
|
||||||
|
|
||||||
|
font = FontStyle()
|
||||||
|
font.set(size=12,italic=1)
|
||||||
|
p = ParagraphStyle()
|
||||||
|
p.set_font(font)
|
||||||
|
styles.add_style("Label",p)
|
||||||
|
|
||||||
|
font = FontStyle()
|
||||||
|
font.set_size(12)
|
||||||
|
p = ParagraphStyle()
|
||||||
|
p.set_font(font)
|
||||||
|
styles.add_style("NotesParagraph",p)
|
||||||
|
|
||||||
style_sheet_list = StyleSheetList("webpage.xml",styles)
|
style_sheet_list = StyleSheetList("webpage.xml",styles)
|
||||||
|
|
||||||
dic = {
|
dic = {
|
||||||
|
Loading…
Reference in New Issue
Block a user