NarrativeWeb is now almost at a complete export of the entire database now. Sorry about committing such a huge update at once. Stylesheet element have been modified or added for this update.
svn: r12959
This commit is contained in:
parent
6996ad22e6
commit
aaf43d3690
@ -1,4 +1,4 @@
|
|||||||
/*
|
/*
|
||||||
**************************************************************************************************
|
**************************************************************************************************
|
||||||
Copyright Holder and License
|
Copyright Holder and License
|
||||||
**************************************************************************************************
|
**************************************************************************************************
|
||||||
@ -865,6 +865,9 @@ div#events h4 {
|
|||||||
margin-bottom:0;
|
margin-bottom:0;
|
||||||
border:none;
|
border:none;
|
||||||
}
|
}
|
||||||
|
#IndividualDetail {
|
||||||
|
background-color:#FFF;
|
||||||
|
}
|
||||||
#IndividualDetail div#events table.infolist thead tr th {
|
#IndividualDetail div#events table.infolist thead tr th {
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
font-size:12px;
|
font-size:12px;
|
||||||
@ -891,16 +894,42 @@ div#events h4 {
|
|||||||
border-bottom:solid 1px #453619;
|
border-bottom:solid 1px #453619;
|
||||||
}
|
}
|
||||||
#IndividualDetail div#events table.infolist tbody tr td.ColumnValue {
|
#IndividualDetail div#events table.infolist tbody tr td.ColumnValue {
|
||||||
border-bottom:solid 1px #453619;
|
border-bottom:solid 1px #000;
|
||||||
}
|
}
|
||||||
table.infolist tbody tr td.ColumnValue p {
|
table.infolist tbody tr td.ColumnValue p {
|
||||||
font-family:sans-serif;
|
font-family:sans-serif;
|
||||||
color:#696969;
|
color:#696969;
|
||||||
margin:.2em 0 0 2em;
|
margin:.2em 0 0 2em;
|
||||||
}
|
}
|
||||||
|
table.eventtable thead tr th {
|
||||||
|
color:#000;
|
||||||
|
}
|
||||||
table.eventtable tbody tr td {
|
table.eventtable tbody tr td {
|
||||||
border-bottom:solid 1px #000;
|
border-bottom:solid 1px #000;
|
||||||
}
|
}
|
||||||
|
div#events table.attrlist {
|
||||||
|
margin-top:.3cm;
|
||||||
|
margin-left:.78cm;
|
||||||
|
width:880px;
|
||||||
|
}
|
||||||
|
table.attrlist thead tr th {
|
||||||
|
color:#000;
|
||||||
|
}
|
||||||
|
div#events table.attrlist tbody tr td {
|
||||||
|
border-bottom:dashed 2px #000;
|
||||||
|
}
|
||||||
|
div#events table.attrlist tbody tr td.ColumnType {
|
||||||
|
width:100px;
|
||||||
|
}
|
||||||
|
div#events table.attrlist tbody tr td.ColumnValue {
|
||||||
|
width:200px;
|
||||||
|
}
|
||||||
|
div#events table.attrlist tbody tr td.ColumnSource {
|
||||||
|
width:80px;
|
||||||
|
}
|
||||||
|
div#events table.attrlist tbody tr td.ColumnNote {
|
||||||
|
width:450px;
|
||||||
|
}
|
||||||
|
|
||||||
/* Subsections : Attributes
|
/* Subsections : Attributes
|
||||||
----------------------------------------------------- */
|
----------------------------------------------------- */
|
||||||
|
@ -121,14 +121,18 @@ from libhtmlbackend import HtmlBackend
|
|||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
# Translatable strings for variables within this plugin
|
# Translatable strings for variables within this plugin
|
||||||
# gettext carries a huge footprint with it.
|
# gettext carries a huge footprint with it.
|
||||||
EHEAD = _('EventType')
|
AHEAD = _('Attributes')
|
||||||
DHEAD = _('Date')
|
DHEAD = _('Date')
|
||||||
PHEAD = _('Place')
|
|
||||||
DESCRHEAD = _('Description')
|
DESCRHEAD = _('Description')
|
||||||
SHEAD = _('Sources')
|
EHEAD = _('EventType')
|
||||||
NHEAD = _('Notes')
|
NHEAD = _('Notes')
|
||||||
|
PHEAD = _('Place')
|
||||||
|
SHEAD = _('Sources')
|
||||||
|
THEAD = _('Type')
|
||||||
|
VHEAD = _('Value')
|
||||||
STREET = _('Street')
|
STREET = _('Street')
|
||||||
CITY = _('City')
|
CITY = _('City')
|
||||||
|
PARISH = _('Church Parish')
|
||||||
COUNTY = _('County')
|
COUNTY = _('County')
|
||||||
STATE = _('State/ Province')
|
STATE = _('State/ Province')
|
||||||
COUNTRY = _('Country')
|
COUNTRY = _('Country')
|
||||||
@ -136,8 +140,9 @@ POSTAL = _('Postal Code')
|
|||||||
PHONE = _('Phone')
|
PHONE = _('Phone')
|
||||||
LONGITUDE = _('Longitude')
|
LONGITUDE = _('Longitude')
|
||||||
LATITUDE = _('Latitude')
|
LATITUDE = _('Latitude')
|
||||||
PARISH = _('Church Parish')
|
|
||||||
LOCATIONS = _('Alternate Locations')
|
LOCATIONS = _('Alternate Locations')
|
||||||
|
TMPL = _('Temple')
|
||||||
|
ST = _('Status')
|
||||||
|
|
||||||
# define clear blank line for proper styling
|
# define clear blank line for proper styling
|
||||||
fullclear = Html('div', class_='fullclear', inline=True)
|
fullclear = Html('div', class_='fullclear', inline=True)
|
||||||
@ -251,95 +256,6 @@ class BasePage(object):
|
|||||||
self.linkhome = report.options['linkhome']
|
self.linkhome = report.options['linkhome']
|
||||||
self.create_media = report.options['gallery']
|
self.create_media = report.options['gallery']
|
||||||
|
|
||||||
def dump_ordinance(self, db, ldsobj):
|
|
||||||
"""
|
|
||||||
will dump the LDS Ordinance information for either
|
|
||||||
a person or a family ...
|
|
||||||
|
|
||||||
@param: db -- the database in use
|
|
||||||
@param: ldsobject -- either person or family
|
|
||||||
"""
|
|
||||||
objectldsord = ldsobj.lds_ord_list
|
|
||||||
if not objectldsord:
|
|
||||||
return None
|
|
||||||
numberofords = len(objectldsord)
|
|
||||||
|
|
||||||
def create_LDS_header_row():
|
|
||||||
""" create the header row for this section """
|
|
||||||
|
|
||||||
# begin HTML row
|
|
||||||
trow = Html('tr')
|
|
||||||
|
|
||||||
for label, colclass in [
|
|
||||||
[_('Type'), 'LDSType' ],
|
|
||||||
[DHEAD, 'LDSDate' ],
|
|
||||||
[_('Temple'), 'LDSTemple' ],
|
|
||||||
[PHEAD, 'LDSPlace' ],
|
|
||||||
[_('Status'), 'LDSStatus' ],
|
|
||||||
[_('Sealed to '), 'LDSSealed'],
|
|
||||||
[SHEAD, 'LDSSources'] ]:
|
|
||||||
|
|
||||||
trow += Html('th', label, class_='Column%s' % colclass, inline=True)
|
|
||||||
|
|
||||||
# return row back to module
|
|
||||||
return trow
|
|
||||||
|
|
||||||
# begin LDS ordinance table and table head
|
|
||||||
with Html('table', class_='infolist ldsordlist') as table:
|
|
||||||
thead = Html('thead')
|
|
||||||
table += thead
|
|
||||||
|
|
||||||
# get LDS ord header row
|
|
||||||
thead += create_LDS_header_row()
|
|
||||||
|
|
||||||
# start table body
|
|
||||||
tbody = Html('tbody')
|
|
||||||
table += tbody
|
|
||||||
|
|
||||||
for row in range(1, (numberofords + 1)):
|
|
||||||
|
|
||||||
# get ordinance for this row
|
|
||||||
ord = objectldsord[(row - 1)]
|
|
||||||
|
|
||||||
# 0 = column class, 1 = ordinance data
|
|
||||||
lds_ord_data = [
|
|
||||||
['LDSType', ord.type2xml()],
|
|
||||||
['LDSDate', ord.get_date_object()],
|
|
||||||
['LDSTemple', ord.get_temple()],
|
|
||||||
['LDSPlace', ord.get_place_handle()],
|
|
||||||
['LDSStatus', ord.get_status()],
|
|
||||||
['LDSSealed', ord.get_family_handle()],
|
|
||||||
['LDSSources', ord.get_source_references()],
|
|
||||||
]
|
|
||||||
|
|
||||||
# format date as in user preferences
|
|
||||||
lds_ord_data[1][1] = _dd.display(lds_ord_data[1][1])
|
|
||||||
|
|
||||||
# get place name from database
|
|
||||||
lds_ord_data[3][1] = ReportUtils.place_name(db, lds_ord_data[3][1])
|
|
||||||
|
|
||||||
# get Source references
|
|
||||||
lds_ord_data[6][1] = self.get_citation_links(lds_ord_data[6][1])
|
|
||||||
|
|
||||||
# begin ordinance rows
|
|
||||||
trow = Html('tr')
|
|
||||||
tbody += trow
|
|
||||||
|
|
||||||
for col in range(1, (len(lds_ord_data) + 1)):
|
|
||||||
|
|
||||||
# column class for styling
|
|
||||||
colclass = lds_ord_data[(col - 1)][0]
|
|
||||||
|
|
||||||
# actual column data
|
|
||||||
value = lds_ord_data[(col - 1)][1]
|
|
||||||
value = value or ' '
|
|
||||||
|
|
||||||
trow += Html('td', value, class_='Column%s' % colclass,
|
|
||||||
inline=True if value == ' ' else False)
|
|
||||||
|
|
||||||
# return table to its callers
|
|
||||||
return table
|
|
||||||
|
|
||||||
def get_citation_links(self, source_ref_list):
|
def get_citation_links(self, source_ref_list):
|
||||||
gid_list = []
|
gid_list = []
|
||||||
lnk = (self.report.cur_fname, self.page_title, self.gid)
|
lnk = (self.report.cur_fname, self.page_title, self.gid)
|
||||||
@ -366,44 +282,6 @@ class BasePage(object):
|
|||||||
# return citation list text to its callers
|
# return citation list text to its callers
|
||||||
return text
|
return text
|
||||||
|
|
||||||
def dump_source_references(self, db, sourcelist):
|
|
||||||
""" Dump a list of source references """
|
|
||||||
|
|
||||||
ordered = Html('ol')
|
|
||||||
list = Html('li')
|
|
||||||
ordered += list
|
|
||||||
|
|
||||||
source_dict = {}
|
|
||||||
# Sort the sources
|
|
||||||
for handle in sourcelist:
|
|
||||||
|
|
||||||
# if source is not None, then add it?
|
|
||||||
source = db.get_source_from_handle(handle)
|
|
||||||
if source is not None:
|
|
||||||
key = source.get_title() + str(source.get_gramps_id())
|
|
||||||
source_dict[key] = (source, handle)
|
|
||||||
keys = sorted(source_dict, key=locale.strxfrm)
|
|
||||||
|
|
||||||
for cindex, key in enumerate(keys):
|
|
||||||
(source, handle) = source_dict[key]
|
|
||||||
source_title = source.get_title()
|
|
||||||
|
|
||||||
list += self.source_link(handle, title, cindex+1, source.gramps_id, True)
|
|
||||||
|
|
||||||
# return ordered list to its callers
|
|
||||||
return ordered
|
|
||||||
|
|
||||||
def source_link(self, handle, name, gid=None, up=False):
|
|
||||||
|
|
||||||
url = self.report.build_url_fname_html(handle, 'src', up)
|
|
||||||
# begin hyperlink
|
|
||||||
hyper = Html('a', html_escape(name), href=url, title=html_escape(name))
|
|
||||||
if not self.noid and gid:
|
|
||||||
hyper += Html('span', '[%s]' % gid, class_='grampsid', inline=True)
|
|
||||||
|
|
||||||
# return hyperlink to its callers
|
|
||||||
return hyper
|
|
||||||
|
|
||||||
def get_note_format(self, note):
|
def get_note_format(self, note):
|
||||||
"""
|
"""
|
||||||
will get the note from the database, and will return either the
|
will get the note from the database, and will return either the
|
||||||
@ -467,6 +345,150 @@ class BasePage(object):
|
|||||||
|
|
||||||
return htmllist
|
return htmllist
|
||||||
|
|
||||||
|
def dump_notes(self, notelist):
|
||||||
|
"""
|
||||||
|
dump out of list of notes with very little elements of its own
|
||||||
|
|
||||||
|
@param: notelist -- list of notes
|
||||||
|
"""
|
||||||
|
|
||||||
|
if not notelist:
|
||||||
|
return ' '
|
||||||
|
db = self.report.database
|
||||||
|
|
||||||
|
# begin unordered list
|
||||||
|
unordered = Html('ul')
|
||||||
|
|
||||||
|
for notehandle in notelist:
|
||||||
|
note = db.get_note_from_handle(notehandle)
|
||||||
|
unordered += self.get_note_format(note)
|
||||||
|
|
||||||
|
# return unordered note list to its callers
|
||||||
|
return unordered
|
||||||
|
|
||||||
|
def dump_ordinance(self, db, ldsobj, LDSType='Person'):
|
||||||
|
"""
|
||||||
|
will dump the LDS Ordinance information for either
|
||||||
|
a person or a family ...
|
||||||
|
|
||||||
|
@param: db -- the database in use
|
||||||
|
@param: ldsobj -- either person or family
|
||||||
|
"""
|
||||||
|
objectldsord = ldsobj.lds_ord_list
|
||||||
|
if not objectldsord:
|
||||||
|
return None
|
||||||
|
numberofords = len(objectldsord)
|
||||||
|
|
||||||
|
def create_LDS_header_row(LDSType):
|
||||||
|
""" create the header row for this section """
|
||||||
|
|
||||||
|
# begin HTML row
|
||||||
|
trow = Html('tr')
|
||||||
|
|
||||||
|
header_row = [
|
||||||
|
[THEAD, 'LDSType' ],
|
||||||
|
[DHEAD, 'LDSDate' ],
|
||||||
|
[TMPL, 'LDSTemple' ],
|
||||||
|
[PHEAD, 'LDSPlace' ],
|
||||||
|
[ST, 'LDSStatus' ],
|
||||||
|
[_('Sealed to '), 'LDSSealed'],
|
||||||
|
[SHEAD, 'LDSSources']
|
||||||
|
]
|
||||||
|
|
||||||
|
# finish the label's missing piece
|
||||||
|
header_row[5][0] += _('Parents') if LDSType == 'Person' else _('Spouse')
|
||||||
|
|
||||||
|
for (label, colclass) in header_row:
|
||||||
|
trow += Html('th', label, class_='Column%s' % colclass, inline=True)
|
||||||
|
|
||||||
|
# return row back to module
|
||||||
|
return trow
|
||||||
|
|
||||||
|
# begin LDS ordinance table and table head
|
||||||
|
with Html('table', class_='infolist ldsordlist') as table:
|
||||||
|
thead = Html('thead')
|
||||||
|
table += thead
|
||||||
|
|
||||||
|
# get LDS ord header row
|
||||||
|
thead += create_LDS_header_row(LDSType)
|
||||||
|
|
||||||
|
# start table body
|
||||||
|
tbody = Html('tbody')
|
||||||
|
table += tbody
|
||||||
|
|
||||||
|
for row in range(1, (numberofords + 1)):
|
||||||
|
|
||||||
|
# get ordinance for this row
|
||||||
|
ord = objectldsord[(row - 1)]
|
||||||
|
|
||||||
|
# 0 = column class, 1 = ordinance data
|
||||||
|
lds_ord_data = [
|
||||||
|
['LDSType', ord.type2xml()],
|
||||||
|
['LDSDate', _dd.display(ord.get_date_object() )],
|
||||||
|
['LDSTemple', ord.get_temple()],
|
||||||
|
['LDSPlace', ReportUtils.place_name(db, ord.get_place_handle() )],
|
||||||
|
['LDSStatus', ord.get_status()],
|
||||||
|
['LDSSealed', ord.get_family_handle()],
|
||||||
|
['LDSSources', self.get_citation_links(ord.get_source_references() )],
|
||||||
|
]
|
||||||
|
|
||||||
|
# begin ordinance rows
|
||||||
|
trow = Html('tr')
|
||||||
|
tbody += trow
|
||||||
|
|
||||||
|
for col in range(1, (len(lds_ord_data) + 1)):
|
||||||
|
|
||||||
|
# column class for styling
|
||||||
|
colclass = lds_ord_data[(col - 1)][0]
|
||||||
|
|
||||||
|
# actual column data
|
||||||
|
value = lds_ord_data[(col - 1)][1]
|
||||||
|
value = value or ' '
|
||||||
|
|
||||||
|
trow += Html('td', value, class_='Column%s' % colclass,
|
||||||
|
inline=True if value == ' ' else False)
|
||||||
|
|
||||||
|
# return table to its callers
|
||||||
|
return table
|
||||||
|
|
||||||
|
def source_link(self, handle, name, gid=None, up=False):
|
||||||
|
|
||||||
|
url = self.report.build_url_fname_html(handle, 'src', up)
|
||||||
|
# begin hyperlink
|
||||||
|
hyper = Html('a', html_escape(name), href=url, title=html_escape(name))
|
||||||
|
if not self.noid and gid:
|
||||||
|
hyper += Html('span', '[%s]' % gid, class_='grampsid', inline=True)
|
||||||
|
|
||||||
|
# return hyperlink to its callers
|
||||||
|
return hyper
|
||||||
|
|
||||||
|
def dump_source_references(self, db, sourcelist):
|
||||||
|
""" Dump a list of source references """
|
||||||
|
|
||||||
|
ordered = Html('ol')
|
||||||
|
list = Html('li')
|
||||||
|
ordered += list
|
||||||
|
|
||||||
|
source_dict = {}
|
||||||
|
# Sort the sources
|
||||||
|
for handle in sourcelist:
|
||||||
|
|
||||||
|
# if source is not None, then add it?
|
||||||
|
source = db.get_source_from_handle(handle)
|
||||||
|
if source is not None:
|
||||||
|
key = source.get_title() + str(source.get_gramps_id())
|
||||||
|
source_dict[key] = (source, handle)
|
||||||
|
keys = sorted(source_dict, key=locale.strxfrm)
|
||||||
|
|
||||||
|
for cindex, key in enumerate(keys):
|
||||||
|
(source, handle) = source_dict[key]
|
||||||
|
source_title = source.get_title()
|
||||||
|
|
||||||
|
list += self.source_link(handle, title, cindex+1, source.gramps_id, True)
|
||||||
|
|
||||||
|
# return ordered list to its callers
|
||||||
|
return ordered
|
||||||
|
|
||||||
def write_out_addresses(self, obj, spec=False):
|
def write_out_addresses(self, obj, spec=False):
|
||||||
"""
|
"""
|
||||||
will display an object's addresses, url list, note list,
|
will display an object's addresses, url list, note list,
|
||||||
@ -481,14 +503,14 @@ class BasePage(object):
|
|||||||
|
|
||||||
trow = Html('tr')
|
trow = Html('tr')
|
||||||
addr_header = [
|
addr_header = [
|
||||||
[DHEAD, 'Date'],
|
[DHEAD, 'Date'],
|
||||||
[STREET, 'StreetAddress'],
|
[STREET, 'StreetAddress'],
|
||||||
[CITY, 'City'],
|
[CITY, 'City'],
|
||||||
[COUNTY, 'County'],
|
[COUNTY, 'County'],
|
||||||
[STATE, 'State'],
|
[STATE, 'State'],
|
||||||
[COUNTRY, 'Cntry'],
|
[COUNTRY, 'Cntry'],
|
||||||
[POSTAL, 'Postalcode'],
|
[POSTAL, 'Postalcode'],
|
||||||
[PHONE, 'Phone'] ]
|
[PHONE, 'Phone'] ]
|
||||||
|
|
||||||
# if spec = True -- an individual's address else repository
|
# if spec = True -- an individual's address else repository
|
||||||
if spec:
|
if spec:
|
||||||
@ -525,7 +547,7 @@ class BasePage(object):
|
|||||||
tbody += trow
|
tbody += trow
|
||||||
|
|
||||||
addrcollist = [
|
addrcollist = [
|
||||||
['Date', address.get_date_object()],
|
['Date', _dd.display(address.get_date_object() )],
|
||||||
['Street', address.get_street()],
|
['Street', address.get_street()],
|
||||||
['City', address.get_city()],
|
['City', address.get_city()],
|
||||||
['County', address.get_county()],
|
['County', address.get_county()],
|
||||||
@ -534,13 +556,10 @@ class BasePage(object):
|
|||||||
['Postal', address.get_postal_code()],
|
['Postal', address.get_postal_code()],
|
||||||
['Phone', address.get_phone()] ]
|
['Phone', address.get_phone()] ]
|
||||||
|
|
||||||
# date as listed in preferences
|
|
||||||
addrcollist[0][1] = _dd.display(addrcollist[0][1])
|
|
||||||
|
|
||||||
# get source citation list
|
# get source citation list
|
||||||
if spec:
|
if spec:
|
||||||
addrcollist.append([SHEAD, address.get_source_references()])
|
addrcollist.append([SHEAD, self.get_citation_links(
|
||||||
addrcollist[8][1] = self.get_citation_links(addrcollist[8][1])
|
address.get_source_references())])
|
||||||
|
|
||||||
for (colclass, value) in addrcollist:
|
for (colclass, value) in addrcollist:
|
||||||
|
|
||||||
@ -555,22 +574,6 @@ class BasePage(object):
|
|||||||
# return summaryarea division to its callers
|
# return summaryarea division to its callers
|
||||||
return summaryarea
|
return summaryarea
|
||||||
|
|
||||||
def write_source_refs(self, sourcelist):
|
|
||||||
|
|
||||||
if not sourcelist:
|
|
||||||
return None
|
|
||||||
|
|
||||||
db = self.report.database
|
|
||||||
|
|
||||||
# Source References division and title
|
|
||||||
with Html('div', class_='subsection', id='sourcerefs') as section:
|
|
||||||
section += Html('h4', _('Source References'), inline=True)
|
|
||||||
|
|
||||||
section += self.dump_source_references(db, sourcelist)
|
|
||||||
|
|
||||||
# return division to its caller
|
|
||||||
return section
|
|
||||||
|
|
||||||
def get_copyright_license(self, copyright, up=False):
|
def get_copyright_license(self, copyright, up=False):
|
||||||
"""
|
"""
|
||||||
will return either the text or image of the copyright license
|
will return either the text or image of the copyright license
|
||||||
@ -646,9 +649,11 @@ class BasePage(object):
|
|||||||
trow = Html('tr')
|
trow = Html('tr')
|
||||||
thead += trow
|
thead += trow
|
||||||
attr_header_row = [
|
attr_header_row = [
|
||||||
(_('Type'), 'Type'),
|
(THEAD, 'Type'),
|
||||||
(_('Value'), 'Value'),
|
(VHEAD, 'Value'),
|
||||||
(SHEAD, 'Source') ]
|
(SHEAD, 'Source'),
|
||||||
|
(NHEAD, 'Notes') ]
|
||||||
|
|
||||||
for (label, colclass) in attr_header_row:
|
for (label, colclass) in attr_header_row:
|
||||||
|
|
||||||
trow += Html('th', label, class_='Column%s' % colclass, inline=True)
|
trow += Html('th', label, class_='Column%s' % colclass, inline=True)
|
||||||
@ -661,43 +666,14 @@ class BasePage(object):
|
|||||||
trow = Html('tr')
|
trow = Html('tr')
|
||||||
tbody += trow
|
tbody += trow
|
||||||
|
|
||||||
attr_data_row = [
|
for (colclass, value) in [
|
||||||
['Type', attr.get_type().xml_str()],
|
['Type', attr.get_type().xml_str()],
|
||||||
['Value', attr.get_value()],
|
['Value', attr.get_value()],
|
||||||
['Sources', attr.get_source_references()]
|
['Sources', self.get_citation_links(attr.get_source_references() )],
|
||||||
]
|
['Notes', self.dump_notes(attr.get_note_list() )] ]:
|
||||||
|
|
||||||
# get attribute source references
|
|
||||||
attr_data_row[2][1] = self.get_citation_links(attr_data_row[2][1])
|
|
||||||
|
|
||||||
for (colclass, value) in attr_data_row:
|
|
||||||
|
|
||||||
trow += Html('td', value, class_='Column%s' % colclass, inline=True)
|
trow += Html('td', value, class_='Column%s' % colclass, inline=True)
|
||||||
|
|
||||||
# get attrivute note list
|
|
||||||
notelist = attr.get_note_list()
|
|
||||||
if notelist:
|
|
||||||
first = True
|
|
||||||
for notehandle in notelist:
|
|
||||||
note = db.get_note_from_handle(notehandle)
|
|
||||||
note_text = self.get_note_format(note)
|
|
||||||
|
|
||||||
if first:
|
|
||||||
trow = Html('tr') + (
|
|
||||||
Html('td', ' ', class_='ColumnAttribute', inline=True),
|
|
||||||
Html('td', NHEAD, class_='ColumnValue', inline=True),
|
|
||||||
Html('td', note_text, class_='ColumnName', inline=True)
|
|
||||||
)
|
|
||||||
table += trow
|
|
||||||
else:
|
|
||||||
trow = Html('tr') + (
|
|
||||||
Html('td', ' ', class_='ColumnAttribute', inline=True),
|
|
||||||
Html('td', ' ', class_='ColumnValue', inline=True),
|
|
||||||
Html('td', note_text, class_='ColumnName', inline=True)
|
|
||||||
)
|
|
||||||
table += trow
|
|
||||||
first = False
|
|
||||||
|
|
||||||
# return section to its caller
|
# return section to its caller
|
||||||
return section
|
return section
|
||||||
|
|
||||||
@ -3341,6 +3317,20 @@ class IndividualPage(BasePage):
|
|||||||
# do NOT combine before returning to class IndividualPage
|
# do NOT combine before returning to class IndividualPage
|
||||||
return thumbnail, sect_name, summaryarea
|
return thumbnail, sect_name, summaryarea
|
||||||
|
|
||||||
|
def attribs_or_not(self, db, evt_ref_list):
|
||||||
|
""" determine if there are attributes for these events """
|
||||||
|
|
||||||
|
for event_ref in evt_ref_list:
|
||||||
|
event = db.get_event_from_handle(event_ref.ref)
|
||||||
|
|
||||||
|
attrlist = event.get_attribute_list()
|
||||||
|
attrlist.extend(event_ref.get_attribute_list() )
|
||||||
|
if attrlist:
|
||||||
|
return True
|
||||||
|
|
||||||
|
# return True or False back to its caller
|
||||||
|
return False
|
||||||
|
|
||||||
def display_ind_events(self):
|
def display_ind_events(self):
|
||||||
"""
|
"""
|
||||||
will create the events table
|
will create the events table
|
||||||
@ -3356,26 +3346,118 @@ class IndividualPage(BasePage):
|
|||||||
with Html('div', class_='subsection', id='events') as section:
|
with Html('div', class_='subsection', id='events') as section:
|
||||||
section += Html('h4', _('Events'), inline=True)
|
section += Html('h4', _('Events'), inline=True)
|
||||||
|
|
||||||
# begin events table
|
# determine if there are attributes or not?
|
||||||
with Html('table', class_='infolist eventtable') as table:
|
attribtable = self.attribs_or_not(db, evt_ref_list)
|
||||||
section += table
|
|
||||||
|
|
||||||
# begin table head
|
# attributes: yes!
|
||||||
thead = Html('thead')
|
if attribtable:
|
||||||
table += thead
|
|
||||||
thead += self.display_event_header()
|
|
||||||
|
|
||||||
tbody = Html('tbody')
|
|
||||||
table += tbody
|
|
||||||
|
|
||||||
for event_ref in evt_ref_list:
|
for event_ref in evt_ref_list:
|
||||||
event = db.get_event_from_handle(event_ref.ref)
|
|
||||||
if event:
|
# begin events table
|
||||||
tbody += self.display_event_row(event, event_ref)
|
with Html('table', class_='infolist eventtable') as table:
|
||||||
|
section += table
|
||||||
|
|
||||||
|
# begin table head
|
||||||
|
thead = Html('thead')
|
||||||
|
table += thead
|
||||||
|
thead += self.display_event_header()
|
||||||
|
|
||||||
|
tbody = Html('tbody')
|
||||||
|
table += tbody
|
||||||
|
|
||||||
|
# ordered list
|
||||||
|
ordered = Html('ol')
|
||||||
|
tbody += ordered
|
||||||
|
|
||||||
|
event = db.get_event_from_handle(event_ref.ref)
|
||||||
|
if event:
|
||||||
|
ordered += self.display_event_row(event, event_ref)
|
||||||
|
|
||||||
|
# attributes list
|
||||||
|
attrlist = event.get_attribute_list()
|
||||||
|
attrlist.extend(event_ref.get_attribute_list() )
|
||||||
|
if attrlist:
|
||||||
|
ordered += self.dump_attributes(attrlist)
|
||||||
|
|
||||||
|
# no attributes for these events
|
||||||
|
else:
|
||||||
|
|
||||||
|
# begin events table
|
||||||
|
with Html('table', class_='infolist eventtable') as table:
|
||||||
|
section += table
|
||||||
|
|
||||||
|
# begin table head
|
||||||
|
thead = Html('thead')
|
||||||
|
table += thead
|
||||||
|
thead += self.display_event_header()
|
||||||
|
|
||||||
|
tbody = Html('tbody')
|
||||||
|
table += tbody
|
||||||
|
|
||||||
|
# ordered list
|
||||||
|
ordered = Html('ol')
|
||||||
|
tbody += ordered
|
||||||
|
|
||||||
|
for event_ref in evt_ref_list:
|
||||||
|
|
||||||
|
event = db.get_event_from_handle(event_ref.ref)
|
||||||
|
if event:
|
||||||
|
ordered += self.display_event_row(event, event_ref)
|
||||||
|
|
||||||
# return section to its caller
|
# return section to its caller
|
||||||
return section
|
return section
|
||||||
|
|
||||||
|
def dump_attributes(self, attrlist):
|
||||||
|
"""
|
||||||
|
dump event attributes list
|
||||||
|
|
||||||
|
@param: attrlist -- list of attributes for event or event_ref
|
||||||
|
"""
|
||||||
|
|
||||||
|
# begin section table
|
||||||
|
with Html('table', class_='infolist attrlist') as table:
|
||||||
|
|
||||||
|
# begin table head
|
||||||
|
thead = Html('thead')
|
||||||
|
table += thead
|
||||||
|
|
||||||
|
trow = Html('tr')
|
||||||
|
thead += trow
|
||||||
|
|
||||||
|
for (label, colclass) in [
|
||||||
|
(AHEAD, 'Title'),
|
||||||
|
(THEAD, 'Type'),
|
||||||
|
(VHEAD, 'Value'),
|
||||||
|
(SHEAD, 'Source'),
|
||||||
|
(NHEAD, 'Notes') ]:
|
||||||
|
|
||||||
|
trow += Html('th', label, class_='Column%s' % colclass, inline=True)
|
||||||
|
|
||||||
|
# begin table body
|
||||||
|
tbody = Html('tbody')
|
||||||
|
table += tbody
|
||||||
|
|
||||||
|
for attr in attrlist:
|
||||||
|
trow = Html('tr')
|
||||||
|
tbody += trow
|
||||||
|
|
||||||
|
attr_data_row = [
|
||||||
|
['Title', None],
|
||||||
|
['Type', attr.get_type().xml_str()],
|
||||||
|
['Value', attr.get_value()],
|
||||||
|
['Source', self.get_citation_links(attr.get_source_references())],
|
||||||
|
['Note', self.dump_notes(attr.get_note_list())]
|
||||||
|
]
|
||||||
|
|
||||||
|
for (colclass, value) in attr_data_row:
|
||||||
|
|
||||||
|
value = value or ' '
|
||||||
|
trow += Html('td', value, class_='Column%s' % colclass, inline=True)
|
||||||
|
|
||||||
|
# return table to its callers
|
||||||
|
return table
|
||||||
|
|
||||||
def display_event_row(self, event, event_ref):
|
def display_event_row(self, event, event_ref):
|
||||||
"""
|
"""
|
||||||
display the event row
|
display the event row
|
||||||
@ -3424,45 +3506,23 @@ class IndividualPage(BasePage):
|
|||||||
place = None
|
place = None
|
||||||
place = place or ' '
|
place = place or ' '
|
||||||
|
|
||||||
|
# get event and event_ref notes
|
||||||
|
notelist = event.get_note_list()
|
||||||
|
notelist.extend(event_ref.get_note_list() )
|
||||||
|
|
||||||
# begin event table row
|
# begin event table row
|
||||||
event_data_row = [
|
|
||||||
['EventType', eventtype],
|
|
||||||
['Date', event.get_date_object()],
|
|
||||||
['Place', place],
|
|
||||||
['Description', event.get_description()],
|
|
||||||
['Source', event.get_source_references()]
|
|
||||||
]
|
|
||||||
|
|
||||||
# Format date as in preferences
|
|
||||||
event_data_row[1][1] = _dd.display(event_data_row[1][1])
|
|
||||||
|
|
||||||
# get citation links
|
|
||||||
event_data_row[4][1] = self.get_citation_links(event_data_row[4][1] )
|
|
||||||
|
|
||||||
trow = Html('tr')
|
trow = Html('tr')
|
||||||
for (colclass, data) in event_data_row:
|
|
||||||
|
for (colclass, data) in [
|
||||||
|
['EventType', eventtype],
|
||||||
|
['Date', _dd.display(event.get_date_object() )],
|
||||||
|
['Place', place],
|
||||||
|
['Description', event.get_description()],
|
||||||
|
['Source', self.get_citation_links(event.get_source_references() )],
|
||||||
|
['Notes', self.dump_notes(notelist)] ]:
|
||||||
|
|
||||||
data = data or ' '
|
data = data or ' '
|
||||||
trow += Html('td', data, class_='Column%s' % colclass,
|
trow += Html('td', data, class_='Column%s' % colclass, inline=True)
|
||||||
inline=True if data == ' ' else False)
|
|
||||||
|
|
||||||
# Notes
|
|
||||||
# if the event or event reference has a note attached to it,
|
|
||||||
# get the text and format it correctly
|
|
||||||
notelist = event.get_note_list()
|
|
||||||
notelist.extend(event_ref.get_note_list())
|
|
||||||
tcell = Html('td', class_='ColumnNote')
|
|
||||||
trow += tcell
|
|
||||||
if not notelist:
|
|
||||||
tcell += ' '
|
|
||||||
else:
|
|
||||||
for notehandle in notelist:
|
|
||||||
note = db.get_note_from_handle(notehandle)
|
|
||||||
if note:
|
|
||||||
note_text = self.get_note_format(note)
|
|
||||||
|
|
||||||
# attach note
|
|
||||||
tcell += note_text
|
|
||||||
|
|
||||||
# return events table row to its callers
|
# return events table row to its callers
|
||||||
return trow
|
return trow
|
||||||
@ -3481,8 +3541,7 @@ class IndividualPage(BasePage):
|
|||||||
section += Html('h4', _('Addresses'), inline=True)
|
section += Html('h4', _('Addresses'), inline=True)
|
||||||
|
|
||||||
# write out addresses()
|
# write out addresses()
|
||||||
addresses = self.write_out_addresses(self.person, spec=True)
|
section += self.write_out_addresses(self.person, spec=True)
|
||||||
section += addresses
|
|
||||||
|
|
||||||
# return address division to its caller
|
# return address division to its caller
|
||||||
return section
|
return section
|
||||||
@ -3840,7 +3899,8 @@ class IndividualPage(BasePage):
|
|||||||
trow = Html('tr') + (
|
trow = Html('tr') + (
|
||||||
Html('td', ' ', class_='ColumnType', inline=True),
|
Html('td', ' ', class_='ColumnType', inline=True),
|
||||||
Html('td', ' ', class_='ColumnAttribute', inline=True),
|
Html('td', ' ', class_='ColumnAttribute', inline=True),
|
||||||
Html('td', self.dump_ordinance(db, family), class_='ColumnValue')
|
Html('td', self.dump_ordinance(db, family, 'Family'),
|
||||||
|
class_='ColumnValue')
|
||||||
)
|
)
|
||||||
table += trow
|
table += trow
|
||||||
|
|
||||||
@ -3975,18 +4035,17 @@ class IndividualPage(BasePage):
|
|||||||
format_event()
|
format_event()
|
||||||
"""
|
"""
|
||||||
|
|
||||||
header_row = [
|
|
||||||
(EHEAD, 'EventType'),
|
|
||||||
(DHEAD, 'Date'),
|
|
||||||
(PHEAD, 'Place'),
|
|
||||||
(DESCRHEAD, 'Description'),
|
|
||||||
(SHEAD, 'Source'),
|
|
||||||
(NHEAD, 'Note') ]
|
|
||||||
|
|
||||||
# begin table header row
|
# begin table header row
|
||||||
trow = Html('tr')
|
trow = Html('tr')
|
||||||
|
|
||||||
for (label, colclass) in header_row:
|
for (label, colclass) in [
|
||||||
|
(EHEAD, 'EventType'),
|
||||||
|
(DHEAD, 'Date'),
|
||||||
|
(PHEAD, 'Place'),
|
||||||
|
(DESCRHEAD, 'Description'),
|
||||||
|
(SHEAD, 'Source'),
|
||||||
|
(NHEAD, 'Note') ]:
|
||||||
|
|
||||||
trow += Html('th', label, class_ = 'Column%s' % colclass, inline = True)
|
trow += Html('th', label, class_ = 'Column%s' % colclass, inline = True)
|
||||||
|
|
||||||
# return header row to its caller
|
# return header row to its caller
|
||||||
@ -4007,13 +4066,23 @@ class IndividualPage(BasePage):
|
|||||||
tbody = Html('tbody')
|
tbody = Html('tbody')
|
||||||
table += tbody
|
table += tbody
|
||||||
|
|
||||||
|
# ordered list
|
||||||
|
ordered = Html('ol')
|
||||||
|
tbody += ordered
|
||||||
|
|
||||||
for event_ref in eventlist:
|
for event_ref in eventlist:
|
||||||
|
|
||||||
event = db.get_event_from_handle(event_ref.ref)
|
event = db.get_event_from_handle(event_ref.ref)
|
||||||
evtType = str(event.get_type() )
|
evtType = str(event.get_type() )
|
||||||
|
|
||||||
# add event body row
|
# add event body row
|
||||||
tbody += self.display_event_row(event, event_ref )
|
ordered += self.display_event_row(event, event_ref )
|
||||||
|
|
||||||
|
# attributes list
|
||||||
|
attrlist = event.get_attribute_list()
|
||||||
|
attrlist.extend(event_ref.get_attribute_list() )
|
||||||
|
if attrlist:
|
||||||
|
ordered += self.dump_attributes(attrlist)
|
||||||
|
|
||||||
# return table to its callers
|
# return table to its callers
|
||||||
return table
|
return table
|
||||||
|
Loading…
x
Reference in New Issue
Block a user