in HTML, source and place references, individual source pges.
svn: r4935
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
2005-07-14 Don Allingham <don@gramps-project.org>
|
2005-07-14 Don Allingham <don@gramps-project.org>
|
||||||
* src/plugins/NavWebPage.py: gallery/media object enhancements, div/span fixes
|
* src/plugins/NavWebPage.py: gallery/media object enhancements, div/span fixes
|
||||||
in HTML.
|
in HTML, source and place references, individual source pges.
|
||||||
|
|
||||||
2005-07-14 Martin Hawlisch <Martin.Hawlisch@gmx.de>
|
2005-07-14 Martin Hawlisch <Martin.Hawlisch@gmx.de>
|
||||||
* src/plugins/NavWebPage.py: Added display_note_object and
|
* src/plugins/NavWebPage.py: Added display_note_object and
|
||||||
|
@@ -218,16 +218,17 @@ class BasePage:
|
|||||||
def display_note_object(self,of,noteobj=None):
|
def display_note_object(self,of,noteobj=None):
|
||||||
if not noteobj:
|
if not noteobj:
|
||||||
return
|
return
|
||||||
of.write('<h4>%s</h4>\n' % _('Narrative'))
|
|
||||||
of.write('<hr>\n')
|
|
||||||
format = noteobj.get_format()
|
format = noteobj.get_format()
|
||||||
text = noteobj.get()
|
text = noteobj.get()
|
||||||
|
|
||||||
if format:
|
if text:
|
||||||
text = u"<pre>" + u"<br>".join(text.split("\n"))
|
of.write('<h4>%s</h4>\n' % _('Narrative'))
|
||||||
else:
|
of.write('<hr>\n')
|
||||||
text = u"</p><p>".join(text.split("\n"))
|
if format:
|
||||||
of.write('<p>%s</p>\n' % text)
|
text = u"<pre>" + u"<br>".join(text.split("\n"))
|
||||||
|
else:
|
||||||
|
text = u"</p><p>".join(text.split("\n"))
|
||||||
|
of.write('<p>%s</p>\n' % text)
|
||||||
|
|
||||||
def display_url_list(self,of,urllist=None):
|
def display_url_list(self,of,urllist=None):
|
||||||
if not urllist:
|
if not urllist:
|
||||||
@@ -246,6 +247,22 @@ class BasePage:
|
|||||||
index = index + 1
|
index = index + 1
|
||||||
of.write('</table>\n')
|
of.write('</table>\n')
|
||||||
|
|
||||||
|
def display_references(self,of,db,handlelist):
|
||||||
|
if not handlelist:
|
||||||
|
return
|
||||||
|
of.write('<h4>%s</h4>\n' % _('References'))
|
||||||
|
of.write('<hr>\n')
|
||||||
|
of.write('<table class="infolist" cellpadding="0" ')
|
||||||
|
of.write('cellspacing="0" border="0">\n')
|
||||||
|
|
||||||
|
index = 1
|
||||||
|
for handle in handlelist:
|
||||||
|
person = db.get_person_from_handle(handle)
|
||||||
|
of.write('<tr><td class="field">%d. <a href="%s.%s">%s</a>' % (index,handle,self.ext,_nd.display(person)))
|
||||||
|
of.write('</td></tr>\n')
|
||||||
|
index = index + 1
|
||||||
|
of.write('</table>\n')
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
@@ -329,7 +346,7 @@ class PlaceListPage(BasePage):
|
|||||||
of.write('</tr>\n')
|
of.write('</tr>\n')
|
||||||
|
|
||||||
self.sort = Sort.Sort(db)
|
self.sort = Sort.Sort(db)
|
||||||
handle_list = list(place_handles)
|
handle_list = place_handles.keys()
|
||||||
handle_list.sort(self.sort.by_place_title)
|
handle_list.sort(self.sort.by_place_title)
|
||||||
last_name = ""
|
last_name = ""
|
||||||
last_letter = ''
|
last_letter = ''
|
||||||
@@ -373,7 +390,7 @@ class PlaceListPage(BasePage):
|
|||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
class PlacePage(BasePage):
|
class PlacePage(BasePage):
|
||||||
|
|
||||||
def __init__(self, db, title, place_handle, src_list, options, archive, media_list):
|
def __init__(self, db, title, place_handle, src_list, place_list, options, archive, media_list):
|
||||||
place = db.get_place_from_handle( place_handle)
|
place = db.get_place_from_handle( place_handle)
|
||||||
BasePage.__init__(self, title, options, archive, media_list)
|
BasePage.__init__(self, title, options, archive, media_list)
|
||||||
of = self.create_file(place.get_handle())
|
of = self.create_file(place.get_handle())
|
||||||
@@ -419,7 +436,7 @@ class PlacePage(BasePage):
|
|||||||
|
|
||||||
self.display_note_object(of, place.get_note_object())
|
self.display_note_object(of, place.get_note_object())
|
||||||
self.display_url_list(of, place.get_url_list())
|
self.display_url_list(of, place.get_url_list())
|
||||||
|
self.display_references(of,db,place_list[place.handle])
|
||||||
self.display_footer(of)
|
self.display_footer(of)
|
||||||
self.close_file(of)
|
self.close_file(of)
|
||||||
|
|
||||||
@@ -641,8 +658,12 @@ class SourcesPage(BasePage):
|
|||||||
|
|
||||||
handle_list = list(handle_set)
|
handle_list = list(handle_set)
|
||||||
|
|
||||||
|
msg = _("This page contains an index of all the sources in the "
|
||||||
|
"database, sorted by their title. Clicking on a sources's "
|
||||||
|
"title will take you to that sources's page.")
|
||||||
|
|
||||||
of.write('<h3>%s</h3>\n<p>' % _('Sources'))
|
of.write('<h3>%s</h3>\n<p>' % _('Sources'))
|
||||||
of.write(_('All sources cited in the project.'))
|
of.write(msg)
|
||||||
of.write('</p>\n<blockquote>\n<table class="infolist">\n')
|
of.write('</p>\n<blockquote>\n<table class="infolist">\n')
|
||||||
|
|
||||||
index = 1
|
index = 1
|
||||||
@@ -650,8 +671,9 @@ class SourcesPage(BasePage):
|
|||||||
source = db.get_source_from_handle(handle)
|
source = db.get_source_from_handle(handle)
|
||||||
of.write('<tr><td class="category">%d.</td>\n' % index)
|
of.write('<tr><td class="category">%d.</td>\n' % index)
|
||||||
of.write('<td class="data">')
|
of.write('<td class="data">')
|
||||||
of.write(source.get_title())
|
of.write('<a href="%s.%s">' % (handle,self.ext))
|
||||||
of.write('</td></tr>\n')
|
of.write('%s <span class="grampsid">[%s]</span>' % (source.get_title(),source.gramps_id))
|
||||||
|
of.write('</a></td></tr>\n')
|
||||||
index += 1
|
index += 1
|
||||||
|
|
||||||
of.write('</table>\n<blockquote>\n')
|
of.write('</table>\n<blockquote>\n')
|
||||||
@@ -659,6 +681,46 @@ class SourcesPage(BasePage):
|
|||||||
self.display_footer(of)
|
self.display_footer(of)
|
||||||
self.close_file(of)
|
self.close_file(of)
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
class SourcePage(BasePage):
|
||||||
|
|
||||||
|
def __init__(self, db, title, handle, src_list, options, archive, media_list):
|
||||||
|
source = db.get_source_from_handle( handle)
|
||||||
|
BasePage.__init__(self, title, options, archive, media_list)
|
||||||
|
of = self.create_file(source.get_handle())
|
||||||
|
source_name = source.get_title()
|
||||||
|
self.display_header(of,source_name,db.get_researcher().get_name())
|
||||||
|
|
||||||
|
self.display_first_image_as_thumbnail(of, db, source.get_media_list())
|
||||||
|
|
||||||
|
of.write('<div class="summaryarea">\n')
|
||||||
|
of.write('<h3>%s</h3>\n' % source_name)
|
||||||
|
of.write('<table class="infolist" cellpadding="0" cellspacing="0" ')
|
||||||
|
of.write('border="0">\n')
|
||||||
|
|
||||||
|
for (label,val) in [(_('GRAMPS ID'),source.gramps_id),
|
||||||
|
(_('Author'),source.author),
|
||||||
|
(_('Publication information'),source.pubinfo),
|
||||||
|
(_('Abbreviation'),source.abbrev)]:
|
||||||
|
if val:
|
||||||
|
of.write('<tr><td class="field">%s</td>\n' % label)
|
||||||
|
of.write('<td class="data">%s</td>\n' % val)
|
||||||
|
of.write('</tr>\n')
|
||||||
|
|
||||||
|
of.write('</table>\n')
|
||||||
|
of.write('</div>\n')
|
||||||
|
|
||||||
|
# TODO: Add more information
|
||||||
|
|
||||||
|
self.display_note_object(of, source.get_note_object())
|
||||||
|
self.display_references(of,db,src_list[source.handle])
|
||||||
|
self.display_footer(of)
|
||||||
|
self.close_file(of)
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
@@ -672,13 +734,17 @@ class GalleryPage(BasePage):
|
|||||||
of = self.create_file("gallery")
|
of = self.create_file("gallery")
|
||||||
self.display_header(of, _('Gallery'), db.get_researcher().get_name())
|
self.display_header(of, _('Gallery'), db.get_researcher().get_name())
|
||||||
|
|
||||||
handle_list = list(handle_set)
|
|
||||||
|
|
||||||
of.write('<h3>%s</h3>\n<p>' % _('Gallery'))
|
of.write('<h3>%s</h3>\n<p>' % _('Gallery'))
|
||||||
of.write(_('All media images cited in the project.'))
|
|
||||||
|
of.write(_("This page contains an index of all the media objects in the "
|
||||||
|
"database, sorted by their title. Clicking on the title will "
|
||||||
|
"take you to that media object's page"))
|
||||||
of.write('</p>\n<blockquote>\n<table class="infolist">\n')
|
of.write('</p>\n<blockquote>\n<table class="infolist">\n')
|
||||||
|
|
||||||
|
self.db = db
|
||||||
|
|
||||||
index = 1
|
index = 1
|
||||||
|
media_list.sort(self.by_media_title)
|
||||||
for handle in media_list:
|
for handle in media_list:
|
||||||
media = db.get_object_from_handle(handle)
|
media = db.get_object_from_handle(handle)
|
||||||
of.write('<tr><td class="category">%d.</td>\n' % index)
|
of.write('<tr><td class="category">%d.</td>\n' % index)
|
||||||
@@ -694,6 +760,15 @@ class GalleryPage(BasePage):
|
|||||||
self.display_footer(of)
|
self.display_footer(of)
|
||||||
self.close_file(of)
|
self.close_file(of)
|
||||||
|
|
||||||
|
def by_media_title(self,a_id,b_id):
|
||||||
|
"""Sort routine for comparing two events by their dates. """
|
||||||
|
if not (a_id and b_id):
|
||||||
|
return False
|
||||||
|
a = self.db.get_object_from_handle(a_id)
|
||||||
|
b = self.db.get_object_from_handle(b_id)
|
||||||
|
return cmp(a.desc,b.desc)
|
||||||
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
@@ -1086,12 +1161,26 @@ class IndividualPage(BasePage):
|
|||||||
of.write('</blockquote>\n')
|
of.write('</blockquote>\n')
|
||||||
|
|
||||||
def format_event(self,event):
|
def format_event(self,event):
|
||||||
|
gid_list = []
|
||||||
for sref in event.get_source_references():
|
for sref in event.get_source_references():
|
||||||
self.src_list.add(sref.get_base_handle())
|
handle = sref.get_base_handle()
|
||||||
|
gid_list.append(handle)
|
||||||
|
|
||||||
|
if self.src_list.has_key(handle):
|
||||||
|
if self.person.handle not in self.src_list[handle]:
|
||||||
|
self.src_list[handle].append(self.person.handle)
|
||||||
|
else:
|
||||||
|
self.src_list[handle] = [self.person.handle]
|
||||||
|
|
||||||
descr = event.get_description()
|
descr = event.get_description()
|
||||||
place_handle = event.get_place_handle()
|
place_handle = event.get_place_handle()
|
||||||
if place_handle:
|
if place_handle:
|
||||||
self.place_list.add(place_handle)
|
if self.place_list.has_key(place_handle):
|
||||||
|
if self.person.handle not in self.place_list[place_handle]:
|
||||||
|
self.place_list[place_handle].append(self.person.handle)
|
||||||
|
else:
|
||||||
|
self.place_list[place_handle] = [self.person.handle]
|
||||||
|
|
||||||
place = '<a href="%s.%s">%s</a>' % (place_handle,self.ext,ReportUtils.place_name(self.db,place_handle))
|
place = '<a href="%s.%s">%s</a>' % (place_handle,self.ext,ReportUtils.place_name(self.db,place_handle))
|
||||||
|
|
||||||
date = _dd.display(event.get_date_object())
|
date = _dd.display(event.get_date_object())
|
||||||
@@ -1111,6 +1200,12 @@ class IndividualPage(BasePage):
|
|||||||
text = place
|
text = place
|
||||||
else:
|
else:
|
||||||
text = '\n'
|
text = '\n'
|
||||||
|
if len(gid_list) > 0:
|
||||||
|
text = text + " <sup>"
|
||||||
|
for handle in gid_list:
|
||||||
|
src = self.db.get_source_from_handle(handle)
|
||||||
|
text = text + ' <a href="%s.%s">[%s]' % (handle,self.ext,src.gramps_id)
|
||||||
|
text = text + "</sup>"
|
||||||
return text
|
return text
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
@@ -1257,8 +1352,8 @@ class WebReport(Report.Report):
|
|||||||
if self.use_intro:
|
if self.use_intro:
|
||||||
IntroductionPage(self.database, self.title, self.options_class, archive, photo_list)
|
IntroductionPage(self.database, self.title, self.options_class, archive, photo_list)
|
||||||
|
|
||||||
place_list = sets.Set()
|
place_list = {}
|
||||||
source_list = sets.Set()
|
source_list = {}
|
||||||
|
|
||||||
for person_handle in ind_list:
|
for person_handle in ind_list:
|
||||||
person = self.database.get_person_from_handle(person_handle)
|
person = self.database.get_person_from_handle(person_handle)
|
||||||
@@ -1284,14 +1379,18 @@ class WebReport(Report.Report):
|
|||||||
PlaceListPage(self.database, self.title, place_list,
|
PlaceListPage(self.database, self.title, place_list,
|
||||||
source_list,self.options_class, archive, photo_list)
|
source_list,self.options_class, archive, photo_list)
|
||||||
|
|
||||||
for place in place_list:
|
for place in place_list.keys():
|
||||||
PlacePage(self.database, self.title, place, source_list,
|
PlacePage(self.database, self.title, place, source_list, place_list,
|
||||||
self.options_class, archive, photo_list)
|
self.options_class, archive, photo_list)
|
||||||
|
|
||||||
SourcesPage(self.database,self.title, source_list, self.options_class,
|
SourcesPage(self.database,self.title, source_list.keys(), self.options_class,
|
||||||
archive, photo_list)
|
archive, photo_list)
|
||||||
|
|
||||||
GalleryPage(self.database,self.title, source_list, self.options_class,
|
for key in list(source_list):
|
||||||
|
SourcePage(self.database,self.title, key, source_list, self.options_class,
|
||||||
|
archive, photo_list)
|
||||||
|
|
||||||
|
GalleryPage(self.database, self.title, source_list, self.options_class,
|
||||||
archive, photo_list)
|
archive, photo_list)
|
||||||
|
|
||||||
for photo_handle in photo_list:
|
for photo_handle in photo_list:
|
||||||
|
Reference in New Issue
Block a user