Remoed the global use of place_handle_list, and place_lat_long. Soe cleanup and also pep8 work.
svn: r18201
This commit is contained in:
@@ -150,10 +150,6 @@ VHEAD = _("Value")
|
|||||||
ALT_LOCATIONS = _("Alternate Locations")
|
ALT_LOCATIONS = _("Alternate Locations")
|
||||||
_UNKNOWN = _("Unknown")
|
_UNKNOWN = _("Unknown")
|
||||||
|
|
||||||
# initialize global variable
|
|
||||||
place_lat_long = []
|
|
||||||
place_handle_list = set()
|
|
||||||
|
|
||||||
# Events that are usually a family event
|
# Events that are usually a family event
|
||||||
_EVENTMAP = set(
|
_EVENTMAP = set(
|
||||||
[gen.lib.EventType.MARRIAGE, gen.lib.EventType.MARR_ALT,
|
[gen.lib.EventType.MARRIAGE, gen.lib.EventType.MARR_ALT,
|
||||||
@@ -576,17 +572,19 @@ class BasePage(object):
|
|||||||
)
|
)
|
||||||
return trow
|
return trow
|
||||||
|
|
||||||
def display_event_row(self, event, event_ref, subdirs, hyp, omit):
|
def display_event_row(self, event, event_ref, place_lat_long, up, hyperlink, omit):
|
||||||
"""
|
"""
|
||||||
display the event row for IndividualPage
|
display the event row for IndividualPage
|
||||||
|
|
||||||
@param: evt = Event object from report database
|
@param: evt = Event object from report database
|
||||||
@param: evt_ref = event reference
|
@param: evt_ref = event reference
|
||||||
@param: subdirs = add [".."] * 3 for subdirectories or not
|
@param: place_lat_long -- for use in Family Map Pages
|
||||||
@param: hyp = add a hyperlink or not
|
@param: up = add [".."] * 3 for subdirectories or not
|
||||||
|
@param: hyperlink = add a hyperlink or not
|
||||||
@params: omit = role to be omitted in output
|
@params: omit = role to be omitted in output
|
||||||
"""
|
"""
|
||||||
db = self.report.database
|
db = self.report.database
|
||||||
|
event_gid = event.get_gramps_id()
|
||||||
|
|
||||||
# check to see if place is already in self.place_list?
|
# check to see if place is already in self.place_list?
|
||||||
lnk = (self.report.cur_fname, self.page_title, self.gid)
|
lnk = (self.report.cur_fname, self.page_title, self.gid)
|
||||||
@@ -599,20 +597,23 @@ class BasePage(object):
|
|||||||
self.place_list[place_handle] = [lnk]
|
self.place_list[place_handle] = [lnk]
|
||||||
|
|
||||||
place = db.get_place_from_handle(place_handle)
|
place = db.get_place_from_handle(place_handle)
|
||||||
self._append_to_place_lat_long(place, event)
|
if place:
|
||||||
|
self.append_to_place_lat_long(place, event, place_lat_long)
|
||||||
|
|
||||||
# begin event table row
|
# begin event table row
|
||||||
trow = Html("tr")
|
trow = Html("tr")
|
||||||
|
|
||||||
# get event type and hyperlink to it or not?
|
# get event type and hyperlink to it or not?
|
||||||
etype = str(event.type)
|
etype = str(event.get_type())
|
||||||
if not event_ref.get_role() == omit:
|
|
||||||
etype += " (%s)" % event_ref.get_role()
|
event_role = event_ref.get_role()
|
||||||
event_hyper = self.event_link(etype, event_ref.ref, event.gramps_id, subdirs) if hyp else etype
|
if not event_role == omit:
|
||||||
|
etype += " (%s)" % event_role
|
||||||
|
event_hyper = self.event_link(etype, event_ref.ref, event_gid, up) if hyperlink else etype
|
||||||
trow += Html("td", event_hyper, class_ = "ColumnEvent")
|
trow += Html("td", event_hyper, class_ = "ColumnEvent")
|
||||||
|
|
||||||
# get event data
|
# get event data
|
||||||
event_data = self.get_event_data(event, event_ref, subdirs)
|
event_data = self.get_event_data(event, event_ref, up)
|
||||||
|
|
||||||
trow.extend(
|
trow.extend(
|
||||||
Html("td", data or " ", class_ =colclass,
|
Html("td", data or " ", class_ =colclass,
|
||||||
@@ -622,15 +623,15 @@ class BasePage(object):
|
|||||||
|
|
||||||
# get event notes
|
# get event notes
|
||||||
notelist = event.get_note_list()
|
notelist = event.get_note_list()
|
||||||
notelist.extend( event_ref.get_note_list())
|
notelist.extend(event_ref.get_note_list())
|
||||||
htmllist = self.dump_notes(notelist)
|
htmllist = self.dump_notes(notelist)
|
||||||
|
|
||||||
# if the event or event reference has an attributes attached to it,
|
# if the event or event reference has an attribute attached to it,
|
||||||
# get the text and format it correctly
|
# get the text and format it correctly?
|
||||||
attrlist = event.get_attribute_list()
|
attrlist = event.get_attribute_list()
|
||||||
attrlist.extend( event_ref.get_attribute_list() )
|
attrlist.extend(event_ref.get_attribute_list())
|
||||||
for attr in attrlist:
|
for attr in attrlist:
|
||||||
htmllist.extend ( Html (
|
htmllist.extend(Html(
|
||||||
"p",
|
"p",
|
||||||
_("%(type)s: %(value)s") % {
|
_("%(type)s: %(value)s") % {
|
||||||
'type' : Html("b", attr.get_type()),
|
'type' : Html("b", attr.get_type()),
|
||||||
@@ -639,48 +640,44 @@ class BasePage(object):
|
|||||||
#also output notes attached to the attributes
|
#also output notes attached to the attributes
|
||||||
notelist = attr.get_note_list()
|
notelist = attr.get_note_list()
|
||||||
if notelist:
|
if notelist:
|
||||||
htmllist.extend (self.dump_notes( notelist ))
|
htmllist.extend(self.dump_notes(notelist))
|
||||||
|
|
||||||
trow += Html("td", htmllist, class_ = "ColumnNotes")
|
trow += Html("td", htmllist, class_ = "ColumnNotes")
|
||||||
|
|
||||||
# get event source references
|
# get event source references
|
||||||
srcrefs = self.get_citation_links( event.get_source_references() ) or " "
|
srcrefs = self.get_citation_links(event.get_source_references()) or " "
|
||||||
trow += Html("td", srcrefs, class_ = "ColumnSources")
|
trow += Html("td", srcrefs, class_ = "ColumnSources")
|
||||||
|
|
||||||
# return events table row to its callers
|
# return events table row to its callers
|
||||||
return trow
|
return trow
|
||||||
|
|
||||||
def _append_to_place_lat_long(self, place, event):
|
def append_to_place_lat_long(self, place, event, place_lat_long):
|
||||||
"""
|
"""
|
||||||
Create a list of places with coordinates.
|
Create a list of places with coordinates.
|
||||||
|
|
||||||
@param: place -- place object from database
|
@param: place -- place object from database
|
||||||
@param: event -- event object from database
|
@param: event -- event object from database
|
||||||
|
@param: place_lat_long -- for use in Family Map Pages
|
||||||
"""
|
"""
|
||||||
if not place:
|
|
||||||
return
|
|
||||||
|
|
||||||
global place_lat_long
|
|
||||||
|
|
||||||
placetitle = place.get_title()
|
placetitle = place.get_title()
|
||||||
latitude, longitude = "", ""
|
latitude, longitude = "", ""
|
||||||
|
|
||||||
found = any(p[2] == placetitle for p in place_lat_long)
|
latitude = place.get_latitude()
|
||||||
if not found:
|
longitude = place.get_longitude()
|
||||||
|
|
||||||
if (place.lat and place.long):
|
if (latitude and longitude):
|
||||||
|
found = any(data[3] == place.get_handle() for data in place_lat_long)
|
||||||
|
if not found:
|
||||||
|
|
||||||
latitude, longitude = conv_lat_lon( place.lat,
|
latitude, longitude = conv_lat_lon(latitude, longitude, "D.D8")
|
||||||
place.long,
|
|
||||||
"D.D8")
|
|
||||||
|
|
||||||
# 0 = latitude, 1 = longitude, 2 = place title,
|
# 0 = latitude, 1 = longitude, 2 = place title,
|
||||||
# 3 = place handle, 4 = event date...
|
# 3 = place handle, 4 = event date...
|
||||||
if latitude is not None:
|
if latitude is not None:
|
||||||
place_lat_long.append( [latitude, longitude, placetitle,
|
place_lat_long.append( [latitude, longitude, placetitle,
|
||||||
place.handle, event.get_date_object() ] )
|
place.get_handle(), event.get_date_object()] )
|
||||||
|
|
||||||
def _get_event_place(self, person, ppl_handle_list):
|
def _get_event_place(self, person, ppl_handle_list, place_lat_long):
|
||||||
"""
|
"""
|
||||||
retrieve from a a person their events, and places for family map
|
retrieve from a a person their events, and places for family map
|
||||||
|
|
||||||
@@ -702,7 +699,7 @@ class BasePage(object):
|
|||||||
|
|
||||||
place = db.get_place_from_handle(place_handle)
|
place = db.get_place_from_handle(place_handle)
|
||||||
if place:
|
if place:
|
||||||
self._append_to_place_lat_long(place, event)
|
self.append_to_place_lat_long(place, event, place_lat_long)
|
||||||
|
|
||||||
def event_link(self, eventtype, handle, gid = None, up = False):
|
def event_link(self, eventtype, handle, gid = None, up = False):
|
||||||
""" creates a hyperlink for an event based on its type """
|
""" creates a hyperlink for an event based on its type """
|
||||||
@@ -723,7 +720,7 @@ class BasePage(object):
|
|||||||
else:
|
else:
|
||||||
return eventtype
|
return eventtype
|
||||||
|
|
||||||
def format_family_events(self, event_ref_list):
|
def format_family_events(self, event_ref_list, place_lat_long):
|
||||||
"""
|
"""
|
||||||
displays the event row for events such as marriage and divorce
|
displays the event row for events such as marriage and divorce
|
||||||
|
|
||||||
@@ -747,9 +744,9 @@ class BasePage(object):
|
|||||||
event = db.get_event_from_handle(evt_ref.ref)
|
event = db.get_event_from_handle(evt_ref.ref)
|
||||||
|
|
||||||
# add event body row
|
# add event body row
|
||||||
tbody += self.display_event_row(event, evt_ref, True, True, EventRoleType.FAMILY)
|
tbody += self.display_event_row(event, evt_ref, place_lat_long,
|
||||||
|
up =True, hyperlink =True,
|
||||||
# return table to its callers
|
omit =EventRoleType.FAMILY)
|
||||||
return table
|
return table
|
||||||
|
|
||||||
def get_event_data(self, evt, evt_ref, up, gid = None):
|
def get_event_data(self, evt, evt_ref, up, gid = None):
|
||||||
@@ -1873,11 +1870,15 @@ class BasePage(object):
|
|||||||
return Html("a", _("Family Map"), href = url, title = _("Family Map"),
|
return Html("a", _("Family Map"), href = url, title = _("Family Map"),
|
||||||
class_ = "familymap", inline = True)
|
class_ = "familymap", inline = True)
|
||||||
|
|
||||||
def display_ind_families(self, famfamily_handle_lis, ppl_handle_list):
|
def display_ind_families(self, family_handle_list, ppl_handle_list, place_lat_long):
|
||||||
"""
|
"""
|
||||||
Displays a person's relationships ...
|
Displays a person's relationships ...
|
||||||
|
|
||||||
|
@param: family_handle_list -- families in this report database
|
||||||
|
@param: ppl_handle_list -- people in this report database
|
||||||
|
@param: place_lat_long -- for use in Family Map Pages
|
||||||
"""
|
"""
|
||||||
if not famfamily_handle_lis:
|
if not family_handle_list:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
db = self.report.database
|
db = self.report.database
|
||||||
@@ -1889,16 +1890,16 @@ class BasePage(object):
|
|||||||
|
|
||||||
# begin families table
|
# begin families table
|
||||||
table_class = "infolist"
|
table_class = "infolist"
|
||||||
if len(famfamily_handle_lis) > 1:
|
if len(family_handle_list) > 1:
|
||||||
table_class += " fixed_subtables"
|
table_class += " fixed_subtables"
|
||||||
with Html("table", class_ = table_class) as table:
|
with Html("table", class_ = table_class) as table:
|
||||||
section += table
|
section += table
|
||||||
|
|
||||||
for fhandle in famfamily_handle_lis:
|
for fhandle in family_handle_list:
|
||||||
family = db.get_family_from_handle(fhandle)
|
family = db.get_family_from_handle(fhandle)
|
||||||
if family:
|
if family:
|
||||||
|
|
||||||
self.display_partner(family, table, ppl_handle_list)
|
self.display_partner(family, table, ppl_handle_list, place_lat_long)
|
||||||
|
|
||||||
childlist = family.get_child_ref_list()
|
childlist = family.get_child_ref_list()
|
||||||
if childlist:
|
if childlist:
|
||||||
@@ -1919,8 +1920,8 @@ class BasePage(object):
|
|||||||
# add individual's children event's place to family map
|
# add individual's children event's place to family map
|
||||||
if self.familymappages:
|
if self.familymappages:
|
||||||
for handle in childlist:
|
for handle in childlist:
|
||||||
individual = db.get_person_from_handle(handle)
|
child = db.get_person_from_handle(handle)
|
||||||
self._get_event_place(individual, self.ind_list)
|
self._get_event_place(child, self.ind_list, place_lat_long)
|
||||||
|
|
||||||
children = add_birthdate(db, childlist)
|
children = add_birthdate(db, childlist)
|
||||||
if birthorder:
|
if birthorder:
|
||||||
@@ -1961,9 +1962,14 @@ class BasePage(object):
|
|||||||
# return section to its caller
|
# return section to its caller
|
||||||
return section
|
return section
|
||||||
|
|
||||||
def display_partner(self, family, table, ppl_handle_list):
|
def display_partner(self, family, table, ppl_handle_list, place_lat_long):
|
||||||
"""
|
"""
|
||||||
display an individual's partner
|
display an individual's partner
|
||||||
|
|
||||||
|
@param: family -- family from the database
|
||||||
|
@param: table -- Html element from its caller
|
||||||
|
@param: ppl_handle_list -- people handle list from the filter that was applied to database
|
||||||
|
@param: place_lat_long -- for use in Family Map Pages
|
||||||
"""
|
"""
|
||||||
if not family:
|
if not family:
|
||||||
return
|
return
|
||||||
@@ -1984,7 +1990,6 @@ class BasePage(object):
|
|||||||
|
|
||||||
partner_handle = ReportUtils.find_spouse(self.person, family)
|
partner_handle = ReportUtils.find_spouse(self.person, family)
|
||||||
if partner_handle:
|
if partner_handle:
|
||||||
|
|
||||||
partner = db.get_person_from_handle(partner_handle)
|
partner = db.get_person_from_handle(partner_handle)
|
||||||
partner_name = self.get_name(partner)
|
partner_name = self.get_name(partner)
|
||||||
else:
|
else:
|
||||||
@@ -2015,7 +2020,7 @@ class BasePage(object):
|
|||||||
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.format_family_events(family_events), class_ = "ColumnValue")
|
Html("td", self.format_family_events(family_events, place_lat_long), class_ = "ColumnValue")
|
||||||
)
|
)
|
||||||
table += trow
|
table += trow
|
||||||
|
|
||||||
@@ -2164,20 +2169,14 @@ class BasePage(object):
|
|||||||
|
|
||||||
def place_link(self, handle, name, gid = None, up = False):
|
def place_link(self, handle, name, gid = None, up = False):
|
||||||
|
|
||||||
global place_handle_list
|
url = self.report.build_url_fname_html(handle, "plc", up)
|
||||||
found = any(handle == place_handle for place_handle in place_handle_list)
|
|
||||||
if found:
|
|
||||||
url = self.report.build_url_fname_html(handle, "plc", up)
|
|
||||||
|
|
||||||
hyper = Html("a", html_escape(name), href = url, title = html_escape(name))
|
hyper = Html("a", html_escape(name), href = url, title = html_escape(name))
|
||||||
if not self.noid and gid:
|
if not self.noid and gid:
|
||||||
hyper += Html("span", " [%s]" % gid, class_ = "grampsid", inline = True)
|
hyper += Html("span", " [%s]" % gid, class_ = "grampsid", inline = True)
|
||||||
|
|
||||||
# return hyperlink to its callers
|
# return hyperlink to its callers
|
||||||
return hyper
|
return hyper
|
||||||
|
|
||||||
else:
|
|
||||||
return name
|
|
||||||
|
|
||||||
def dump_place(self, place, table):
|
def dump_place(self, place, table):
|
||||||
"""
|
"""
|
||||||
@@ -2728,11 +2727,11 @@ class FamilyListPage(BasePage):
|
|||||||
if person:
|
if person:
|
||||||
if phandle not in displayed:
|
if phandle not in displayed:
|
||||||
|
|
||||||
famfamily_handle_lis = person.get_family_handle_list()
|
family_handle_list = person.get_family_handle_list()
|
||||||
if famfamily_handle_lis:
|
if family_handle_list:
|
||||||
|
|
||||||
first_family = True
|
first_family = True
|
||||||
for fhandle in famfamily_handle_lis:
|
for fhandle in family_handle_list:
|
||||||
|
|
||||||
family = db.get_family_from_handle(fhandle)
|
family = db.get_family_from_handle(fhandle)
|
||||||
if family:
|
if family:
|
||||||
@@ -2834,7 +2833,7 @@ class FamilyListPage(BasePage):
|
|||||||
return hyper
|
return hyper
|
||||||
|
|
||||||
class FamilyPage(BasePage):
|
class FamilyPage(BasePage):
|
||||||
def __init__(self, report, title, person, family, place_list, ppl_handle_list):
|
def __init__(self, report, title, person, family, place_list, ppl_handle_list, place_lat_long):
|
||||||
if (not person or not family):
|
if (not person or not family):
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -2944,7 +2943,7 @@ class FamilyPage(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.format_family_events(family_evt_ref_list),
|
Html("td", self.format_family_events(family_evt_ref_list, place_lat_long),
|
||||||
class_ = "ColumnValue")
|
class_ = "ColumnValue")
|
||||||
)
|
)
|
||||||
table += trow
|
table += trow
|
||||||
@@ -4670,8 +4669,8 @@ class IndividualPage(BasePage):
|
|||||||
gen.lib.Person.UNKNOWN : _('unknown'),
|
gen.lib.Person.UNKNOWN : _('unknown'),
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, report, title, person, ind_list, place_list, src_list):
|
def __init__(self, report, title, person, ind_list, place_list, src_list, place_lat_long):
|
||||||
BasePage.__init__(self, report, title, person.gramps_id)
|
BasePage.__init__(self, report, title, person.get_gramps_id())
|
||||||
self.person = person
|
self.person = person
|
||||||
self.ind_list = ind_list
|
self.ind_list = ind_list
|
||||||
self.src_list = src_list # Used by get_citation_links()
|
self.src_list = src_list # Used by get_citation_links()
|
||||||
@@ -4681,14 +4680,10 @@ class IndividualPage(BasePage):
|
|||||||
self.name = self.get_name(person)
|
self.name = self.get_name(person)
|
||||||
db = report.database
|
db = report.database
|
||||||
|
|
||||||
global place_lat_long
|
of = self.report.create_file(person.get_handle(), "ppl")
|
||||||
place_lat_long = []
|
|
||||||
|
|
||||||
of = self.report.create_file(person.handle, "ppl")
|
|
||||||
self.up = True
|
self.up = True
|
||||||
indivdetpage, head, body = self.write_header(self.sort_name)
|
indivdetpage, head, body = self.write_header(self.sort_name)
|
||||||
self.familymappages = self.report.options['familymappages']
|
self.familymappages = self.report.options['familymappages']
|
||||||
self.fgooglemap = self.report.options['familymappages']
|
|
||||||
|
|
||||||
# attach the ancestortree style sheet if ancestor graph is being created?
|
# attach the ancestortree style sheet if ancestor graph is being created?
|
||||||
if self.report.options["ancestortree"]:
|
if self.report.options["ancestortree"]:
|
||||||
@@ -4709,7 +4704,7 @@ class IndividualPage(BasePage):
|
|||||||
individualdetail += (name, summary)
|
individualdetail += (name, summary)
|
||||||
|
|
||||||
# display a person's events
|
# display a person's events
|
||||||
sect2 = self.display_ind_events()
|
sect2 = self.display_ind_events(place_lat_long)
|
||||||
if sect2 is not None:
|
if sect2 is not None:
|
||||||
individualdetail += sect2
|
individualdetail += sect2
|
||||||
|
|
||||||
@@ -4719,8 +4714,8 @@ class IndividualPage(BasePage):
|
|||||||
individualdetail += sect3
|
individualdetail += sect3
|
||||||
|
|
||||||
# display relationships
|
# display relationships
|
||||||
person_famfamily_handle_lis = self.person.get_family_handle_list()
|
person_family_handle_list = self.person.get_family_handle_list()
|
||||||
sect4 = self.display_ind_families(person_famfamily_handle_lis, ind_list)
|
sect4 = self.display_ind_families(person_family_handle_list, ind_list, place_lat_long)
|
||||||
if sect4 is not None:
|
if sect4 is not None:
|
||||||
individualdetail += sect4
|
individualdetail += sect4
|
||||||
|
|
||||||
@@ -4783,7 +4778,7 @@ class IndividualPage(BasePage):
|
|||||||
# create family map link
|
# create family map link
|
||||||
if self.familymappages:
|
if self.familymappages:
|
||||||
if len(place_lat_long):
|
if len(place_lat_long):
|
||||||
individualdetail += self.__display_family_map(person)
|
individualdetail += self.__display_family_map(person, place_lat_long)
|
||||||
|
|
||||||
# display pedigree
|
# display pedigree
|
||||||
sect13 = self.display_ind_pedigree()
|
sect13 = self.display_ind_pedigree()
|
||||||
@@ -4805,16 +4800,14 @@ class IndividualPage(BasePage):
|
|||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(indivdetpage, of)
|
self.XHTMLWriter(indivdetpage, of)
|
||||||
|
|
||||||
def __create_family_map(self, person):
|
def __create_family_map(self, person, place_lat_long):
|
||||||
"""
|
"""
|
||||||
creates individual family map page
|
creates individual family map page
|
||||||
|
|
||||||
@param: person -- person from database
|
@param: person -- person from database
|
||||||
|
@param: place_lat_long -- for use in Family Map Pages
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# fields in place_lat_long = latitude, longitude, placename, handle, and date of event
|
|
||||||
global place_lat_long
|
|
||||||
|
|
||||||
# if there is no latitude/ longitude data, then return?
|
# if there is no latitude/ longitude data, then return?
|
||||||
if not place_lat_long:
|
if not place_lat_long:
|
||||||
return
|
return
|
||||||
@@ -4858,9 +4851,7 @@ class IndividualPage(BasePage):
|
|||||||
middleset = [value for value in (-8, -9, -10, -11, 8, 9, 10, 11)]
|
middleset = [value for value in (-8, -9, -10, -11, 8, 9, 10, 11)]
|
||||||
largeset = [value for value in (-11, -12, -13, -14, -15, -16, -17, 11, 12, 13, 14, 15, 16, 17)]
|
largeset = [value for value in (-11, -12, -13, -14, -15, -16, -17, 11, 12, 13, 14, 15, 16, 17)]
|
||||||
|
|
||||||
if spany in tinyset:
|
if (spany in tinyset or spany in smallset):
|
||||||
zoomlevel = 13
|
|
||||||
elif spany in smallset:
|
|
||||||
zoomlevel = 6
|
zoomlevel = 6
|
||||||
elif spany in middleset:
|
elif spany in middleset:
|
||||||
zoomlevel = 5
|
zoomlevel = 5
|
||||||
@@ -4872,7 +4863,7 @@ class IndividualPage(BasePage):
|
|||||||
# sort place_lat_long based on latitude and longitude order...
|
# sort place_lat_long based on latitude and longitude order...
|
||||||
place_lat_long.sort()
|
place_lat_long.sort()
|
||||||
|
|
||||||
of = self.report.create_file(person.handle, "maps")
|
of = self.report.create_file(person.get_handle(), "maps")
|
||||||
self.up = True
|
self.up = True
|
||||||
familymappage, head, body = self.write_header(_("Family Map"))
|
familymappage, head, body = self.write_header(_("Family Map"))
|
||||||
|
|
||||||
@@ -4904,7 +4895,7 @@ class IndividualPage(BasePage):
|
|||||||
# if the number of places is only 1, then use code from imported javascript?
|
# if the number of places is only 1, then use code from imported javascript?
|
||||||
if number_markers == 1:
|
if number_markers == 1:
|
||||||
data = place_lat_long[0]
|
data = place_lat_long[0]
|
||||||
jsc += google_jsc % ( data[0], data[1] )
|
jsc += google_jsc % (data[0], data[1])
|
||||||
|
|
||||||
# Google Maps add their javascript inside of the head element...
|
# Google Maps add their javascript inside of the head element...
|
||||||
else:
|
else:
|
||||||
@@ -4923,11 +4914,10 @@ class IndividualPage(BasePage):
|
|||||||
|
|
||||||
var lifeHistory = [""" % (midX_, midY_, zoomlevel)
|
var lifeHistory = [""" % (midX_, midY_, zoomlevel)
|
||||||
for index in xrange(0, (number_markers - 1)):
|
for index in xrange(0, (number_markers - 1)):
|
||||||
data = place_lat_long[index]
|
latitude, longitude = place_lat_long[index][0], place_lat_long[index][1]
|
||||||
latitude, longitude = conv_lat_lon(data[0], data[1], "D.D8")
|
print(index, data)
|
||||||
jsc += """ new google.maps.LatLng(%s, %s),""" % (latitude, longitude)
|
jsc += """ new google.maps.LatLng(%s, %s),""" % (latitude, longitude)
|
||||||
data = place_lat_long[-1]
|
latitude, longitude = place_lat_long[-1][0], place_lat_long[-1][1]
|
||||||
latitude, longitude = conv_lat_lon(data[0], data[1], "D.D8")
|
|
||||||
jsc += """ new google.maps.LatLng(%s, %s) ];
|
jsc += """ new google.maps.LatLng(%s, %s) ];
|
||||||
|
|
||||||
var flightPath = new google.maps.Polyline({
|
var flightPath = new google.maps.Polyline({
|
||||||
@@ -4943,16 +4933,15 @@ class IndividualPage(BasePage):
|
|||||||
# Google Maps Markers only...
|
# Google Maps Markers only...
|
||||||
elif self.googleopts == "Markers":
|
elif self.googleopts == "Markers":
|
||||||
if (not midX_ and not midY_):
|
if (not midX_ and not midY_):
|
||||||
data = place_lat_long[0]
|
midX_, midY_ = conv_lat_lon(place_lat_long[0][0], place_lat_long[0][1], "D.D8")
|
||||||
midX_, midY_ = conv_lat_lon( data[0], data[1], "D.D8" )
|
|
||||||
jsc += """
|
jsc += """
|
||||||
//<![CDATA[
|
//<![CDATA[
|
||||||
var centre = new google.maps.LatLng(%s, %s);
|
var centre = new google.maps.LatLng(%s, %s);
|
||||||
var gpsCoords = [""" % (midX_, midY_)
|
var gpsCoords = [""" % (midX_, midY_)
|
||||||
for index in xrange(0, (number_markers - 1)):
|
for index in xrange(0, (number_markers - 1)):
|
||||||
data = place_lat_long[index]
|
latitude, longitude = place_lat_long[index][0], place_lat_long[index][1]
|
||||||
jsc += """ new google.maps.LatLng(%s, %s),""" % ( data[0], data[1] )
|
jsc += """ new google.maps.LatLng(%s, %s),""" % (latitude, longitude)
|
||||||
data = place_lat_long[-1]
|
latitude, longitude = place_lat_long[-1][0], place_lat_long[-1][1]
|
||||||
jsc += """ new google.maps.LatLng(%s, %s)
|
jsc += """ new google.maps.LatLng(%s, %s)
|
||||||
];
|
];
|
||||||
var markers = [];
|
var markers = [];
|
||||||
@@ -4986,7 +4975,7 @@ class IndividualPage(BasePage):
|
|||||||
}));
|
}));
|
||||||
iterator++;
|
iterator++;
|
||||||
}
|
}
|
||||||
//]]>""" % (data[0], data[1], zoomlevel)
|
//]]>""" % (latitude, longitude, zoomlevel)
|
||||||
# there is no need to add an ending "</script>",
|
# there is no need to add an ending "</script>",
|
||||||
# as it will be added automatically by libhtml()!
|
# as it will be added automatically by libhtml()!
|
||||||
|
|
||||||
@@ -4997,10 +4986,10 @@ class IndividualPage(BasePage):
|
|||||||
self.get_name(person)), inline=True)
|
self.get_name(person)), inline=True)
|
||||||
|
|
||||||
# page message
|
# page message
|
||||||
msg = _("The place markers on this page represent different "
|
msg = _("This map page represents the person and their descendants only. "
|
||||||
"locations based upon spouse, children (if any), and "
|
"The markers and the Referene list are sorted in chronological order. "
|
||||||
"personal events and their places of the main person. "
|
"Clicking on a place’s name in the Reference section will "
|
||||||
"The list is sorted in chronological order.")
|
"take you to that page’s page.")
|
||||||
mapbackground += Html("p", msg, id = "description")
|
mapbackground += Html("p", msg, id = "description")
|
||||||
|
|
||||||
# if Google and Markers are selected, then add "Drop Markers" button?
|
# if Google and Markers are selected, then add "Drop Markers" button?
|
||||||
@@ -5108,21 +5097,21 @@ class IndividualPage(BasePage):
|
|||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(familymappage, of)
|
self.XHTMLWriter(familymappage, of)
|
||||||
|
|
||||||
def __display_family_map(self, person):
|
def __display_family_map(self, person, place_lat_long):
|
||||||
"""
|
"""
|
||||||
create the family map link
|
create the family map link
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# create family map page
|
# create family map page
|
||||||
self.__create_family_map(person)
|
self.__create_family_map(person, place_lat_long)
|
||||||
|
|
||||||
# begin family map division plus section title
|
# begin family map division plus section title
|
||||||
with Html("div", class_ = "subsection", id = "familymap") as familymap:
|
with Html("div", class_ = "subsection", id = "familymap") as familymap:
|
||||||
familymap += Html("h4", _("Family Map"), inline = True)
|
familymap += Html("h4", _("Family Map"), inline = True)
|
||||||
|
|
||||||
# add family map link
|
# add family map link
|
||||||
url = self.report.build_url_fname_html(person.handle, "maps", True)
|
person_handle = person.get_handle()
|
||||||
familymap += self.family_map_link(person.handle, url)
|
url = self.report.build_url_fname_html(person_handle, "maps", True)
|
||||||
|
familymap += self.family_map_link(person_handle, url)
|
||||||
|
|
||||||
# return family map link to its caller
|
# return family map link to its caller
|
||||||
return familymap
|
return familymap
|
||||||
@@ -5531,9 +5520,11 @@ class IndividualPage(BasePage):
|
|||||||
# do NOT combine before returning
|
# do NOT combine before returning
|
||||||
return thumbnail, section_title, summaryarea
|
return thumbnail, section_title, summaryarea
|
||||||
|
|
||||||
def display_ind_events(self):
|
def display_ind_events(self, place_lat_long):
|
||||||
"""
|
"""
|
||||||
will create the events table
|
will create the events table
|
||||||
|
|
||||||
|
@param: place_lat_long -- for use in Family Map Pages
|
||||||
"""
|
"""
|
||||||
event_ref_list = self.person.get_event_ref_list()
|
event_ref_list = self.person.get_event_ref_list()
|
||||||
if not event_ref_list:
|
if not event_ref_list:
|
||||||
@@ -5560,10 +5551,13 @@ class IndividualPage(BasePage):
|
|||||||
|
|
||||||
for evt_ref in event_ref_list:
|
for evt_ref in event_ref_list:
|
||||||
event = db.get_event_from_handle(evt_ref.ref)
|
event = db.get_event_from_handle(evt_ref.ref)
|
||||||
|
if event:
|
||||||
|
|
||||||
|
# display event row
|
||||||
|
tbody += self.display_event_row(
|
||||||
|
event, evt_ref, place_lat_long,
|
||||||
|
True, True, EventRoleType.PRIMARY)
|
||||||
|
|
||||||
# display event row
|
|
||||||
tbody += self.display_event_row(event, evt_ref, True, True, EventRoleType.PRIMARY)
|
|
||||||
|
|
||||||
# return section to its caller
|
# return section to its caller
|
||||||
return section
|
return section
|
||||||
|
|
||||||
@@ -5589,20 +5583,19 @@ class IndividualPage(BasePage):
|
|||||||
# return table columns to its caller
|
# return table columns to its caller
|
||||||
return tcell1, tcell2
|
return tcell1, tcell2
|
||||||
|
|
||||||
def display_ind_parents(self, ind_list):
|
def display_ind_parents(self, ppl_handle_list):
|
||||||
"""
|
"""
|
||||||
Display a person's parents
|
Display a person's parents
|
||||||
"""
|
"""
|
||||||
|
|
||||||
birthorder = self.report.options['birthorder']
|
|
||||||
parent_list = self.person.get_parent_family_handle_list()
|
parent_list = self.person.get_parent_family_handle_list()
|
||||||
|
|
||||||
if not parent_list:
|
if not parent_list:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
db = self.report.database
|
db = self.report.database
|
||||||
self.familymappages = self.report.options['familymappages']
|
|
||||||
self.mapservice = self.report.options['mapservice']
|
birthorder = self.report.options['birthorder']
|
||||||
|
familymappages = self.report.options['familymappages']
|
||||||
|
|
||||||
# begin parents division
|
# begin parents division
|
||||||
with Html("div", class_ = "subsection", id = "parents") as section:
|
with Html("div", class_ = "subsection", id = "parents") as section:
|
||||||
@@ -5632,7 +5625,7 @@ class IndividualPage(BasePage):
|
|||||||
|
|
||||||
if not first:
|
if not first:
|
||||||
trow = Html("tr") + (
|
trow = Html("tr") + (
|
||||||
Html("td", " ", colspan = 2, inline = True)
|
Html("td", " ", colspan =2, inline = True)
|
||||||
)
|
)
|
||||||
table += trow
|
table += trow
|
||||||
else:
|
else:
|
||||||
@@ -5643,10 +5636,6 @@ class IndividualPage(BasePage):
|
|||||||
if father_handle:
|
if father_handle:
|
||||||
father = db.get_person_from_handle(father_handle)
|
father = db.get_person_from_handle(father_handle)
|
||||||
|
|
||||||
# get the father's event places for family map
|
|
||||||
if self.familymappages:
|
|
||||||
self._get_event_place(father, ind_list)
|
|
||||||
|
|
||||||
trow = Html("tr")
|
trow = Html("tr")
|
||||||
table += trow
|
table += trow
|
||||||
|
|
||||||
@@ -5658,10 +5647,6 @@ class IndividualPage(BasePage):
|
|||||||
if mother_handle:
|
if mother_handle:
|
||||||
mother = db.get_person_from_handle(mother_handle)
|
mother = db.get_person_from_handle(mother_handle)
|
||||||
|
|
||||||
# get the mother's event places for family map
|
|
||||||
if self.familymappages:
|
|
||||||
self._get_event_place(mother, ind_list)
|
|
||||||
|
|
||||||
trow = Html("tr")
|
trow = Html("tr")
|
||||||
table += trow
|
table += trow
|
||||||
|
|
||||||
@@ -5680,12 +5665,6 @@ class IndividualPage(BasePage):
|
|||||||
# display them...
|
# display them...
|
||||||
if sibling:
|
if sibling:
|
||||||
|
|
||||||
# add the sibling's event places for family map
|
|
||||||
if self.familymappages:
|
|
||||||
for handle in sibling:
|
|
||||||
individual = db.get_person_from_handle(handle)
|
|
||||||
self._get_event_place(individual, ind_list)
|
|
||||||
|
|
||||||
trow = Html("tr") + (
|
trow = Html("tr") + (
|
||||||
Html("td", _("Siblings"), class_ = "ColumnAttribute", inline = True)
|
Html("td", _("Siblings"), class_ = "ColumnAttribute", inline = True)
|
||||||
)
|
)
|
||||||
@@ -5702,7 +5681,7 @@ class IndividualPage(BasePage):
|
|||||||
sibling = sorted(sibling)
|
sibling = sorted(sibling)
|
||||||
|
|
||||||
ordered.extend(
|
ordered.extend(
|
||||||
self.display_child_link(chandle, ind_list)
|
self.display_child_link(chandle, ppl_handle_list)
|
||||||
for birth_date, chandle in sibling
|
for birth_date, chandle in sibling
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -6345,7 +6324,6 @@ class NavWebReport(Report):
|
|||||||
self.photo_list = {}
|
self.photo_list = {}
|
||||||
|
|
||||||
def write_report(self):
|
def write_report(self):
|
||||||
global place_handle_list
|
|
||||||
|
|
||||||
_WRONGMEDIAPATH = []
|
_WRONGMEDIAPATH = []
|
||||||
if not self.use_archive:
|
if not self.use_archive:
|
||||||
@@ -6403,21 +6381,19 @@ class NavWebReport(Report):
|
|||||||
# Build the person list
|
# Build the person list
|
||||||
ind_list = self.build_person_list()
|
ind_list = self.build_person_list()
|
||||||
|
|
||||||
# create place_handle_list for use in place_link()
|
# initialize place_lat_long variable for use in Family Map Pages
|
||||||
for handle in self.database.get_place_handles():
|
place_lat_long = []
|
||||||
place_handle_list.add(handle)
|
|
||||||
|
|
||||||
# copy all of the neccessary files
|
# copy all of the neccessary files
|
||||||
self.copy_narrated_files()
|
self.copy_narrated_files()
|
||||||
|
|
||||||
place_list = {}
|
place_list = {}
|
||||||
source_list = {}
|
source_list = {}
|
||||||
attribute_list = []
|
|
||||||
|
|
||||||
self.base_pages()
|
self.base_pages()
|
||||||
|
|
||||||
# build classes IndividualListPage and IndividualPage
|
# build classes IndividualListPage and IndividualPage
|
||||||
self.person_pages(ind_list, place_list, source_list)
|
self.person_pages(ind_list, place_list, source_list, place_lat_long)
|
||||||
|
|
||||||
# build classes SurnameListPage and SurnamePage
|
# build classes SurnameListPage and SurnamePage
|
||||||
self.surname_pages(ind_list)
|
self.surname_pages(ind_list)
|
||||||
@@ -6431,7 +6407,7 @@ class NavWebReport(Report):
|
|||||||
|
|
||||||
# build classes FamilyListPage and FamilyPage
|
# build classes FamilyListPage and FamilyPage
|
||||||
if self.inc_families:
|
if self.inc_families:
|
||||||
self.family_pages(ind_list, place_list)
|
self.family_pages(ind_list, place_list, place_lat_long)
|
||||||
|
|
||||||
# build classes SourceListPage and SourcePage
|
# build classes SourceListPage and SourcePage
|
||||||
self.source_pages(source_list)
|
self.source_pages(source_list)
|
||||||
@@ -6555,7 +6531,7 @@ class NavWebReport(Report):
|
|||||||
fdir, fname = os.path.split(from_path)
|
fdir, fname = os.path.split(from_path)
|
||||||
self.copy_file(from_path, fname, "images")
|
self.copy_file(from_path, fname, "images")
|
||||||
|
|
||||||
def person_pages(self, ind_list, place_list, source_list):
|
def person_pages(self, ind_list, place_list, source_list, place_lat_long):
|
||||||
"""
|
"""
|
||||||
creates IndividualListPage, IndividualPage, and gendex page
|
creates IndividualListPage, IndividualPage, and gendex page
|
||||||
"""
|
"""
|
||||||
@@ -6570,7 +6546,7 @@ class NavWebReport(Report):
|
|||||||
self.progress.step()
|
self.progress.step()
|
||||||
person = self.database.get_person_from_handle(person_handle)
|
person = self.database.get_person_from_handle(person_handle)
|
||||||
|
|
||||||
IndividualPage(self, self.title, person, ind_list, place_list, source_list)
|
IndividualPage(self, self.title, person, ind_list, place_list, source_list, place_lat_long)
|
||||||
|
|
||||||
if self.inc_gendex:
|
if self.inc_gendex:
|
||||||
self.progress.set_pass(_('Creating GENDEX file'), len(ind_list))
|
self.progress.set_pass(_('Creating GENDEX file'), len(ind_list))
|
||||||
@@ -6638,7 +6614,7 @@ class NavWebReport(Report):
|
|||||||
SourcePage(self, self.title, key, source_list)
|
SourcePage(self, self.title, key, source_list)
|
||||||
self.progress.step()
|
self.progress.step()
|
||||||
|
|
||||||
def family_pages(self, ppl_handle_list, place_list):
|
def family_pages(self, ppl_handle_list, place_list, place_lat_long):
|
||||||
"""
|
"""
|
||||||
creates the FamiliesListPage and FamilyPages
|
creates the FamiliesListPage and FamilyPages
|
||||||
"""
|
"""
|
||||||
@@ -6653,12 +6629,12 @@ class NavWebReport(Report):
|
|||||||
for phandle in ppl_handle_list:
|
for phandle in ppl_handle_list:
|
||||||
person = db.get_person_from_handle(phandle)
|
person = db.get_person_from_handle(phandle)
|
||||||
if person:
|
if person:
|
||||||
famfamily_handle_lis = person.get_family_handle_list()
|
family_handle_list = person.get_family_handle_list()
|
||||||
if famfamily_handle_lis:
|
if family_handle_list:
|
||||||
for fhandle in famfamily_handle_lis:
|
for fhandle in family_handle_list:
|
||||||
family = db.get_family_from_handle(fhandle)
|
family = db.get_family_from_handle(fhandle)
|
||||||
if family:
|
if family:
|
||||||
FamilyPage(self, self.title, person, family, place_list, ppl_handle_list)
|
FamilyPage(self, self.title, person, family, place_list, ppl_handle_list, place_lat_long)
|
||||||
|
|
||||||
self.progress.step()
|
self.progress.step()
|
||||||
|
|
||||||
@@ -7842,9 +7818,9 @@ def build_event_data(db, ppl_handle_list):
|
|||||||
event_types.append(str(event.get_type()))
|
event_types.append(str(event.get_type()))
|
||||||
event_handle_list.append(evt_ref.ref)
|
event_handle_list.append(evt_ref.ref)
|
||||||
|
|
||||||
person_famfamily_handle_lis = person.get_family_handle_list()
|
person_family_handle_list = person.get_family_handle_list()
|
||||||
if person_famfamily_handle_lis:
|
if person_family_handle_list:
|
||||||
for fhandle in person_famfamily_handle_lis:
|
for fhandle in person_family_handle_list:
|
||||||
family = db.get_family_from_handle(fhandle)
|
family = db.get_family_from_handle(fhandle)
|
||||||
if family:
|
if family:
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user