Webpage and REFN enhancements
svn: r981
This commit is contained in:
parent
f94c19ffee
commit
a9a5069644
@ -464,7 +464,7 @@ class Note:
|
|||||||
|
|
||||||
def append(self,text):
|
def append(self,text):
|
||||||
"""adds the text to the note's contents"""
|
"""adds the text to the note's contents"""
|
||||||
return self.text + text
|
self.text = self.text + text
|
||||||
|
|
||||||
class Photo(SourceNote):
|
class Photo(SourceNote):
|
||||||
"""Containter for information about an image file, including location,
|
"""Containter for information about an image file, including location,
|
||||||
|
@ -784,6 +784,12 @@ class ReportDialog:
|
|||||||
self.target_path = self.target_fileentry.get_full_path(0)
|
self.target_path = self.target_fileentry.get_full_path(0)
|
||||||
if not self.target_path:
|
if not self.target_path:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
if not self.get_target_is_directory() and os.path.isdir(self.target_path):
|
||||||
|
GnomeErrorDialog(_("The filename that you gave is a directory.\n"
|
||||||
|
"You need to provide a valid filename."))
|
||||||
|
return None
|
||||||
|
|
||||||
self.set_default_directory(os.path.dirname(self.target_path) + os.sep)
|
self.set_default_directory(os.path.dirname(self.target_path) + os.sep)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
@ -577,7 +577,7 @@ class Gramps:
|
|||||||
if self.active_person:
|
if self.active_person:
|
||||||
SelectChild.NewChild(self.database,self.active_family,
|
SelectChild.NewChild(self.database,self.active_family,
|
||||||
self.active_person,self.update_after_newchild,
|
self.active_person,self.update_after_newchild,
|
||||||
self.update_after_edit,
|
self.update_after_edit,
|
||||||
GrampsCfg.lastnamegen)
|
GrampsCfg.lastnamegen)
|
||||||
|
|
||||||
def on_choose_parents_clicked(self,obj):
|
def on_choose_parents_clicked(self,obj):
|
||||||
|
@ -440,10 +440,7 @@ class GedcomParser:
|
|||||||
noteobj = Note()
|
noteobj = Note()
|
||||||
self.nmap[matches[1]] = noteobj
|
self.nmap[matches[1]] = noteobj
|
||||||
text = matches[2][4:]
|
text = matches[2][4:]
|
||||||
if text == "":
|
noteobj.append(text + self.parse_continue_data(1))
|
||||||
noteobj.append(self.parse_note_continue(1))
|
|
||||||
else:
|
|
||||||
noteobj.append(text + self.parse_note_continue(1))
|
|
||||||
self.parse_note_data(1)
|
self.parse_note_data(1)
|
||||||
elif matches[2] == "OBJE":
|
elif matches[2] == "OBJE":
|
||||||
self.ignore_sub_junk(1)
|
self.ignore_sub_junk(1)
|
||||||
@ -1007,6 +1004,8 @@ class GedcomParser:
|
|||||||
address.setStreet(val)
|
address.setStreet(val)
|
||||||
elif matches[1] == "CITY":
|
elif matches[1] == "CITY":
|
||||||
address.setCity(matches[2])
|
address.setCity(matches[2])
|
||||||
|
elif matches[1] == "PHON":
|
||||||
|
address.setNote(matches[2])
|
||||||
elif matches[1] == "STAE":
|
elif matches[1] == "STAE":
|
||||||
address.setState(matches[2])
|
address.setState(matches[2])
|
||||||
elif matches[1] == "POST":
|
elif matches[1] == "POST":
|
||||||
|
@ -72,9 +72,11 @@ class HtmlLinkDoc(HtmlDoc):
|
|||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
class IndividualPage:
|
class IndividualPage:
|
||||||
|
|
||||||
def __init__(self,person,photos,restrict,private,uc,link,map,dir_name,imgdir,doc):
|
def __init__(self,person,photos,restrict,private,uc,link,map,dir_name,imgdir,doc,id,idlink):
|
||||||
self.person = person
|
self.person = person
|
||||||
self.doc = doc
|
self.doc = doc
|
||||||
|
self.use_id = id
|
||||||
|
self.id_link = idlink
|
||||||
self.list = map
|
self.list = map
|
||||||
self.private = private
|
self.private = private
|
||||||
self.alive = person.probablyAlive() and restrict
|
self.alive = person.probablyAlive() and restrict
|
||||||
@ -235,6 +237,14 @@ class IndividualPage:
|
|||||||
|
|
||||||
self.doc.start_table("one","IndTable")
|
self.doc.start_table("one","IndTable")
|
||||||
self.write_normal_row("%s:" % _("Name"), name, name_obj.getSourceRefList())
|
self.write_normal_row("%s:" % _("Name"), name, name_obj.getSourceRefList())
|
||||||
|
if self.use_id:
|
||||||
|
if self.id_link:
|
||||||
|
val = '<a href="%s">%s</a>' % (self.id_link,self.person.getId())
|
||||||
|
val = string.replace(val,'#',self.person.getId())
|
||||||
|
else:
|
||||||
|
val = self.person.getId()
|
||||||
|
self.write_normal_row("%s:" % _("ID Number"),val,None)
|
||||||
|
|
||||||
if self.person.getGender() == Person.male:
|
if self.person.getGender() == Person.male:
|
||||||
self.write_normal_row("%s:" % _("Gender"), _("Male"),None)
|
self.write_normal_row("%s:" % _("Gender"), _("Male"),None)
|
||||||
else:
|
else:
|
||||||
@ -551,8 +561,10 @@ 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):
|
template_name,use_id,id_link):
|
||||||
self.db = db
|
self.db = db
|
||||||
|
self.use_id = use_id
|
||||||
|
self.id_link = id_link
|
||||||
self.person = person
|
self.person = person
|
||||||
self.target_path = target_path
|
self.target_path = target_path
|
||||||
self.max_gen = max_gen
|
self.max_gen = max_gen
|
||||||
@ -680,7 +692,7 @@ class WebReport(Report):
|
|||||||
idoc = IndividualPage(person, self.photos, self.restrict,
|
idoc = IndividualPage(person, self.photos, self.restrict,
|
||||||
self.private, self.srccomments,
|
self.private, self.srccomments,
|
||||||
self.include_link, my_map, dir_name,
|
self.include_link, my_map, dir_name,
|
||||||
self.image_dir, tdoc)
|
self.image_dir, tdoc, self.use_id,self.id_link)
|
||||||
idoc.create_page()
|
idoc.create_page()
|
||||||
idoc.close()
|
idoc.close()
|
||||||
self.progress_bar_step()
|
self.progress_bar_step()
|
||||||
@ -726,6 +738,7 @@ class WebReportDialog(ReportDialog):
|
|||||||
no_img_msg = _("Do not use images")
|
no_img_msg = _("Do not use images")
|
||||||
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")
|
||||||
imgdir_msg = _("Image subdirectory")
|
imgdir_msg = _("Image subdirectory")
|
||||||
|
|
||||||
self.use_link = GtkCheckButton(lnk_msg)
|
self.use_link = GtkCheckButton(lnk_msg)
|
||||||
@ -736,11 +749,17 @@ class WebReportDialog(ReportDialog):
|
|||||||
self.no_images = GtkCheckButton(no_img_msg)
|
self.no_images = GtkCheckButton(no_img_msg)
|
||||||
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.imgdir = GtkEntry()
|
self.imgdir = GtkEntry()
|
||||||
self.imgdir.set_text("images")
|
self.imgdir.set_text("images")
|
||||||
|
self.linkpath = GtkEntry()
|
||||||
|
self.linkpath.set_sensitive(0)
|
||||||
|
self.include_id.connect('toggled',self.show_link)
|
||||||
|
|
||||||
self.add_option(imgdir_msg,self.imgdir)
|
self.add_option(imgdir_msg,self.imgdir)
|
||||||
self.add_option('',self.use_link)
|
self.add_option('',self.use_link)
|
||||||
|
self.add_option('',self.include_id)
|
||||||
|
self.add_option(_('GRAMPS ID link URL'),self.linkpath)
|
||||||
|
|
||||||
title = _("Privacy Options")
|
title = _("Privacy Options")
|
||||||
self.add_frame_option(title,None,self.no_private)
|
self.add_frame_option(title,None,self.no_private)
|
||||||
@ -750,7 +769,10 @@ class WebReportDialog(ReportDialog):
|
|||||||
self.add_frame_option(title,None,self.no_comments)
|
self.add_frame_option(title,None,self.no_comments)
|
||||||
|
|
||||||
self.no_images.connect('toggled',self.on_nophotos_toggled)
|
self.no_images.connect('toggled',self.on_nophotos_toggled)
|
||||||
|
|
||||||
|
def show_link(self,obj):
|
||||||
|
self.linkpath.set_sensitive(obj.get_active())
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Customization hooks
|
# Customization hooks
|
||||||
@ -962,7 +984,9 @@ class WebReportDialog(ReportDialog):
|
|||||||
self.restrict = self.restrict_living.get_active()
|
self.restrict = self.restrict_living.get_active()
|
||||||
self.private = self.no_private.get_active()
|
self.private = self.no_private.get_active()
|
||||||
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.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:
|
||||||
self.photos = 0
|
self.photos = 0
|
||||||
@ -997,7 +1021,8 @@ class WebReportDialog(ReportDialog):
|
|||||||
self.max_gen, self.photos, self.filter,
|
self.max_gen, self.photos, self.filter,
|
||||||
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)
|
||||||
MyReport.write_report()
|
MyReport.write_report()
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
|
@ -486,6 +486,7 @@ class GedcomWriter:
|
|||||||
for family in self.flist:
|
for family in self.flist:
|
||||||
father_alive = mother_alive = 0
|
father_alive = mother_alive = 0
|
||||||
self.g.write("0 @%s@ FAM\n" % self.fid(family.getId()))
|
self.g.write("0 @%s@ FAM\n" % self.fid(family.getId()))
|
||||||
|
self.g.write('1 REFN %s\n' % family.getId())
|
||||||
person = family.getFather()
|
person = family.getFather()
|
||||||
if person != None and person in self.plist:
|
if person != None and person in self.plist:
|
||||||
self.g.write("1 HUSB @%s@\n" % self.pid(person.getId()))
|
self.g.write("1 HUSB @%s@\n" % self.pid(person.getId()))
|
||||||
@ -569,7 +570,7 @@ class GedcomWriter:
|
|||||||
|
|
||||||
def write_person(self,person):
|
def write_person(self,person):
|
||||||
self.g.write("0 @%s@ INDI\n" % self.pid(person.getId()))
|
self.g.write("0 @%s@ INDI\n" % self.pid(person.getId()))
|
||||||
|
self.g.write('1 REFN %s\n' % person.getId())
|
||||||
self.write_person_name(person.getPrimaryName(),person.getNickName())
|
self.write_person_name(person.getPrimaryName(),person.getNickName())
|
||||||
|
|
||||||
if self.altname == ALT_NAME_STD:
|
if self.altname == ALT_NAME_STD:
|
||||||
|
Loading…
Reference in New Issue
Block a user