added back copyright notices
added great updates given to me by Gerald Britton svn: r16402
This commit is contained in:
parent
94156eca35
commit
7e9ed2e31f
@ -1,7 +1,10 @@
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2008-2010 Craig J. Anderson ander882@hotmail.com
|
||||
# Copyright (C) 2000-2007 Donald N. Allingham
|
||||
# Copyright (C) 2007-2008 Brian G. Matherly
|
||||
# Copyright (C) 2010 Jakim Friant
|
||||
# Copyright (C) 2009-2010 Craig J. Anderson
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@ -74,6 +77,7 @@ from libtreebase import *
|
||||
class DescendantBoxBase(BoxBase):
|
||||
""" Base for all descendant boxes.
|
||||
Set the boxstr and some new attributes that are needed """
|
||||
|
||||
def __init__(self, boxstr):
|
||||
BoxBase.__init__(self)
|
||||
self.boxstr = boxstr
|
||||
@ -83,6 +87,7 @@ class DescendantBoxBase(BoxBase):
|
||||
|
||||
def calc_text(self, database, person, family):
|
||||
""" A sinble place to calculate box text """
|
||||
|
||||
gui = GuiConnect()
|
||||
calc = gui.calc_lines(database)
|
||||
self.text = calc.calc_lines(person, family,
|
||||
@ -92,6 +97,7 @@ class PersonBox(DescendantBoxBase):
|
||||
"""
|
||||
Calculates information about the box that will print on a page
|
||||
"""
|
||||
|
||||
def __init__(self, level, boldable = 0):
|
||||
DescendantBoxBase.__init__(self, "CG2-box")
|
||||
self.level = level
|
||||
@ -104,6 +110,7 @@ class FamilyBox(DescendantBoxBase):
|
||||
"""
|
||||
Calculates information about the box that will print on a page
|
||||
"""
|
||||
|
||||
def __init__(self, level):
|
||||
DescendantBoxBase.__init__(self, "CG2-fam-box")
|
||||
self.level = level
|
||||
@ -111,6 +118,7 @@ class FamilyBox(DescendantBoxBase):
|
||||
class PlaceHolderBox(BoxBase):
|
||||
""" I am a box that does not print. I am used to make sure information
|
||||
does not run over areas that we don't wnat information (boxes) """
|
||||
|
||||
def __init__(self, level):
|
||||
BoxBase.__init__(self)
|
||||
self.boxstr = "None"
|
||||
@ -128,6 +136,7 @@ class PlaceHolderBox(BoxBase):
|
||||
#------------------------------------------------------------------------
|
||||
class Line(LineBase):
|
||||
""" Our line class."""
|
||||
|
||||
def __init__(self, start):
|
||||
LineBase.__init__(self, start)
|
||||
self.linestr = "CG2-line"
|
||||
@ -144,19 +153,18 @@ class DescendantTitleBase(TitleBox):
|
||||
self.database = dbase
|
||||
|
||||
def descendant_print(self, person_list, person_list2 = []):
|
||||
""" calculate the Descendant title
|
||||
Person_list will always be passed
|
||||
If in the Family reports and there are two familys, person_list2
|
||||
will be used.
|
||||
"""
|
||||
|
||||
names = self._get_names(person_list)
|
||||
if person_list2 != []:
|
||||
names2 = self._get_names(person_list2)
|
||||
|
||||
if person_list2 == []:
|
||||
if len(names) == 1:
|
||||
title = _("Descendant Chart for %(person)s") % \
|
||||
{'person': names[0] }
|
||||
elif len(names) == 2:
|
||||
title = _("Descendant Chart for %(father)s and %(mother)s") % \
|
||||
{'father': names[0], 'mother': names[1] }
|
||||
else:
|
||||
if len(person_list + person_list2) == 3:
|
||||
if person_list2:
|
||||
if len(person_list) + len(person_list2) == 3:
|
||||
if len(person_list) == 1:
|
||||
title = _("Descendant Chart for %(person)s and "
|
||||
"%(father1)s, %(mother1)s") % \
|
||||
@ -170,31 +178,37 @@ class DescendantTitleBase(TitleBox):
|
||||
{'father1': names[0], \
|
||||
'mother1': names[1], \
|
||||
'person': names2[0] }
|
||||
else: #if len(person_list + person_list2) == 4:
|
||||
else: #if not person_list2:
|
||||
title = _("Descendant Chart for %(father1)s, %(father2)s "
|
||||
"and %(mother1)s, %(mother2)s") % \
|
||||
{'father1': names[0], \
|
||||
'mother1': names[1], \
|
||||
'father2': names2[0], \
|
||||
'mother2': names2[1] }
|
||||
else:
|
||||
if len(names) == 1:
|
||||
title = _("Descendant Chart for %(person)s") % \
|
||||
{'person': names[0] }
|
||||
elif len(names) == 2:
|
||||
title = _("Descendant Chart for %(father)s and %(mother)s") % \
|
||||
{'father': names[0], 'mother': names[1] }
|
||||
return title
|
||||
|
||||
def get_parents(self, family_id):
|
||||
""" For a family_id, return the father and mother """
|
||||
|
||||
family1 = self.database.get_family_from_gramps_id(family_id)
|
||||
father_h = family1.get_father_handle()
|
||||
mother_h = family1.get_mother_handle()
|
||||
|
||||
parents = []
|
||||
|
||||
if father_h:
|
||||
parents.append(self.database.get_person_from_handle(father_h))
|
||||
if mother_h:
|
||||
parents.append(self.database.get_person_from_handle(mother_h))
|
||||
parents = [self.database.get_person_from_handle(handle)
|
||||
for handle in [father_h, mother_h] if handle]
|
||||
|
||||
return parents
|
||||
|
||||
class TitleNone(TitleBox):
|
||||
"""Family Chart Title class for the report """
|
||||
|
||||
def __init__(self, dbase, doc):
|
||||
TitleBox.__init__(self, doc, "None")
|
||||
|
||||
@ -205,6 +219,7 @@ class TitleNone(TitleBox):
|
||||
class TitleDPY(DescendantTitleBase):
|
||||
"""Descendant (Person yes start with parents) Chart
|
||||
Title class for the report """
|
||||
|
||||
def __init__(self, dbase, doc):
|
||||
DescendantTitleBase.__init__(self, dbase, doc)
|
||||
|
||||
@ -215,29 +230,23 @@ class TitleDPY(DescendantTitleBase):
|
||||
family2_h = center.get_main_parents_family_handle()
|
||||
family2 = self.database.get_family_from_handle(family2_h)
|
||||
|
||||
person_list = []
|
||||
mother2_h = father2_h = None
|
||||
person_list = None
|
||||
if family2:
|
||||
father2_h = family2.get_father_handle()
|
||||
if father2_h:
|
||||
person_list.append(
|
||||
self.database.get_person_from_handle(father2_h))
|
||||
mother2_h = family2.get_mother_handle()
|
||||
if mother2_h:
|
||||
person_list.append(
|
||||
self.database.get_person_from_handle(mother2_h))
|
||||
person_list = [self.database.get_person_from_handle(handle)
|
||||
for handle in [father2_h, mother2_h] if handle]
|
||||
|
||||
if person_list == []:
|
||||
person_list.append(center)
|
||||
if not person_list:
|
||||
person_list = [center]
|
||||
|
||||
#else:
|
||||
# title = str(tmp) + " " + str(len(tmp))
|
||||
self.text = self.descendant_print(person_list)
|
||||
self.set_box_height_width()
|
||||
|
||||
class TitleDPN(DescendantTitleBase):
|
||||
"""Descendant (Person no start with parents) Chart
|
||||
Title class for the report """
|
||||
|
||||
def __init__(self, dbase, doc):
|
||||
DescendantTitleBase.__init__(self, dbase, doc)
|
||||
|
||||
@ -253,32 +262,25 @@ class TitleDPN(DescendantTitleBase):
|
||||
class TitleDFY(DescendantTitleBase):
|
||||
"""Descendant (Family yes start with parents) Chart
|
||||
Title class for the report """
|
||||
|
||||
def __init__(self, dbase, doc):
|
||||
DescendantTitleBase.__init__(self, dbase, doc)
|
||||
|
||||
def get_parent_list(self, person):
|
||||
""" return a list of my parents. If none, return me """
|
||||
if person is None:
|
||||
if not person:
|
||||
return None
|
||||
parent_list = []
|
||||
|
||||
parent_list = None
|
||||
family_h = person.get_main_parents_family_handle()
|
||||
family = self.database.get_family_from_handle(family_h)
|
||||
if family is not None: #family = fathers parents
|
||||
if family: #family = fathers parents
|
||||
father_h = family.get_father_handle()
|
||||
if father_h is not None:
|
||||
parent_list.append(
|
||||
self.database.get_person_from_handle(father_h))
|
||||
mother_h = family.get_mother_handle()
|
||||
if mother_h is not None:
|
||||
parent_list.append(
|
||||
self.database.get_person_from_handle(mother_h))
|
||||
else:
|
||||
return [person]
|
||||
parent_list = [self.database.get_person_from_handle(handle)
|
||||
for handle in [father_h, mother_h] if handle]
|
||||
|
||||
if parent_list == []:
|
||||
return [person]
|
||||
else:
|
||||
return parent_list
|
||||
return parent_list or [person]
|
||||
|
||||
def calc_title(self, family_id):
|
||||
"""Calculate the title of the report"""
|
||||
@ -289,7 +291,7 @@ class TitleDFY(DescendantTitleBase):
|
||||
|
||||
mom_parents = []
|
||||
if len(my_parents) > 1:
|
||||
if dad_parents is None:
|
||||
if not dad_parents:
|
||||
dad_parents = self.get_parent_list(my_parents[1])
|
||||
else:
|
||||
mom_parents = self.get_parent_list(my_parents[1])
|
||||
@ -300,6 +302,7 @@ class TitleDFY(DescendantTitleBase):
|
||||
class TitleDFN(DescendantTitleBase):
|
||||
"""Descendant (Family no start with parents) Chart
|
||||
Title class for the report """
|
||||
|
||||
def __init__(self, dbase, doc):
|
||||
DescendantTitleBase.__init__(self, dbase, doc)
|
||||
|
||||
@ -307,8 +310,7 @@ class TitleDFN(DescendantTitleBase):
|
||||
"""Calculate the title of the report"""
|
||||
|
||||
self.text = self.descendant_print(
|
||||
self.get_parents(family_id)
|
||||
)
|
||||
self.get_parents(family_id) )
|
||||
self.set_box_height_width()
|
||||
|
||||
class TitleF(DescendantTitleBase):
|
||||
@ -342,22 +344,14 @@ class TitleC(DescendantTitleBase):
|
||||
|
||||
family = self.database.get_family_from_gramps_id(family_id)
|
||||
|
||||
kids = []
|
||||
for kid in family.get_child_ref_list():
|
||||
kids.append(self.database.get_person_from_handle(kid.ref))
|
||||
kids = [self.database.get_person_from_handle(kid.ref)
|
||||
for kid in family.get_child_ref_list()]
|
||||
|
||||
#ok we have the children. Make a title off of them
|
||||
tmp = self._get_names(kids)
|
||||
|
||||
title = ""
|
||||
while tmp != []:
|
||||
if title != "":
|
||||
title += ", "
|
||||
title += tmp.pop(0)
|
||||
self.text = _("Cousin Chart for " + ", ".join(self._get_names(kids)))
|
||||
|
||||
title = "Cousin Chart for " + title
|
||||
|
||||
self.text = title
|
||||
self.set_box_height_width()
|
||||
|
||||
|
||||
@ -384,7 +378,7 @@ class RecurseDown:
|
||||
self.max_generations = gui.get_val('maxgen')
|
||||
self.max_spouses = gui.get_val('maxspouse')
|
||||
self.inlc_marr = gui.get_val('incmarr')
|
||||
if self.max_spouses == 0:
|
||||
if not self.max_spouses:
|
||||
self.inlc_marr = False
|
||||
|
||||
#is the option even available?
|
||||
@ -412,7 +406,7 @@ class RecurseDown:
|
||||
self.cols.append(None)
|
||||
self.__last_direct.append(None)
|
||||
|
||||
if self.cols[level] is not None:
|
||||
if self.cols[level]:
|
||||
last_box = self.cols[level]
|
||||
last_box.next = box
|
||||
|
||||
@ -444,15 +438,14 @@ class RecurseDown:
|
||||
""" Makes a person box and add that person into the Canvas. """
|
||||
myself = PersonBox(level)
|
||||
|
||||
if myself.level[1] == 0 and self.bold_direct and self.bold_now != 0:
|
||||
if myself.level[1] == 0 and self.bold_direct and self.bold_now:
|
||||
if self.bold_now == 1:
|
||||
self.bold_now = 0
|
||||
myself.set_bold()
|
||||
|
||||
if level[1] == 0 and father is not None and \
|
||||
myself.level[0] != father.level[0]:
|
||||
if level[1] == 0 and father and myself.level[0] != father.level[0]:
|
||||
#I am a child
|
||||
if father.line_to is None:
|
||||
if not father.line_to:
|
||||
line = Line(father)
|
||||
father.line_to = line
|
||||
self.canvas.add_line(father.line_to)
|
||||
@ -493,19 +486,16 @@ class RecurseDown:
|
||||
or we reach the max number of spouses
|
||||
that we want to deal with"""
|
||||
|
||||
if not person_handle: return
|
||||
if x_level > self.max_generations: return
|
||||
if s_level > 0 and s_level == self.max_spouses: return
|
||||
if person_handle == None: return
|
||||
if person_handle in self.famalies_seen: return
|
||||
|
||||
myself = None
|
||||
person = self.database.get_person_from_handle(person_handle)
|
||||
family_handles = person.get_family_handle_list()
|
||||
if s_level == 0:
|
||||
if family_handles == []:
|
||||
val = None
|
||||
else:
|
||||
val = family_handles[0]
|
||||
val = family_handles[0] if family_handles else None
|
||||
myself = self.add_person_box( (x_level, s_level),
|
||||
person_handle, val, father)
|
||||
|
||||
@ -520,50 +510,38 @@ class RecurseDown:
|
||||
family = self.database.get_family_from_handle(family_handle)
|
||||
|
||||
if self.inlc_marr and self.max_spouses > 0:
|
||||
if s_level == 0:
|
||||
marr = self.add_marriage_box((x_level, s_level+1),
|
||||
person_handle, family_handle,
|
||||
myself)
|
||||
else:
|
||||
marr = self.add_marriage_box((x_level, s_level+1),
|
||||
person_handle, family_handle,
|
||||
father)
|
||||
father if s_level else myself)
|
||||
|
||||
spouse_handle = ReportUtils.find_spouse(person, family)
|
||||
if self.max_spouses > s_level and \
|
||||
spouse_handle not in self.famalies_seen:
|
||||
def _spouse_box(who):
|
||||
self.add_person_box((x_level, s_level+1),
|
||||
spouse_handle, family_handle, who)
|
||||
if s_level > 0:
|
||||
spouse = self.add_person_box((x_level, s_level+1),
|
||||
spouse_handle, family_handle,
|
||||
father)
|
||||
spouse = _spouse_box(father)
|
||||
elif first == 1:
|
||||
spouse = self.add_person_box((x_level, s_level+1),
|
||||
spouse_handle, family_handle,
|
||||
myself)
|
||||
spouse = _spouse_box(myself)
|
||||
elif self.inlc_marr:
|
||||
spouse = self.add_person_box((x_level, s_level+1),
|
||||
spouse_handle, family_handle,
|
||||
marr)
|
||||
spouse = _spouse_box(marr)
|
||||
else:
|
||||
spouse = self.add_person_box((x_level, s_level+1),
|
||||
spouse_handle, family_handle,
|
||||
myself)
|
||||
spouse = _spouse_box(myself)
|
||||
|
||||
mykids = []
|
||||
for kid in family.get_child_ref_list():
|
||||
mykids.append(kid.ref)
|
||||
mykids = [kid.ref for kid in family.get_child_ref_list()]
|
||||
|
||||
for child_ref in mykids:
|
||||
if self.inlc_marr and self.max_spouses > 0:
|
||||
self.recurse(child_ref, x_level+1, 0, marr)
|
||||
elif spouse is not None:
|
||||
elif spouse:
|
||||
self.recurse(child_ref, x_level+1, 0, spouse)
|
||||
else:
|
||||
self.recurse(child_ref, x_level+1, 0, myself)
|
||||
first = 0
|
||||
|
||||
if self.max_spouses > s_level and spouse_handle != None and \
|
||||
self.famalies_seen.count(spouse_handle) == 0:
|
||||
if self.max_spouses > s_level and spouse_handle and \
|
||||
self.famalies_seen.count(spouse_handle):
|
||||
#spouse_handle = ReportUtils.find_spouse(person,family)
|
||||
self.recurse(spouse_handle, x_level, s_level+1, spouse)
|
||||
|
||||
@ -572,6 +550,7 @@ class RecurseDown:
|
||||
Adds a family into the canvas.
|
||||
only will be used for my direct grandparents, and my parents only.
|
||||
"""
|
||||
|
||||
family_h = family.get_handle()
|
||||
father_h = family.get_father_handle()
|
||||
mother_h = family.get_mother_handle()
|
||||
@ -599,10 +578,8 @@ class RecurseDown:
|
||||
# child_refs.append(child_ref)
|
||||
|
||||
for child_ref in family.get_child_ref_list():
|
||||
if self.inlc_marr:
|
||||
self.recurse(child_ref.ref, level+1, 0, family_b)
|
||||
else:
|
||||
self.recurse(child_ref.ref, level+1, 0, father_b)
|
||||
self.recurse(child_ref.ref, level+1, 0,
|
||||
family_b if self.inlc_marr else father_b)
|
||||
|
||||
#Future code.
|
||||
#if self.inlc_marr:
|
||||
@ -620,9 +597,7 @@ class RecurseDown:
|
||||
still we want to respect the FamaliesSeen list
|
||||
"""
|
||||
|
||||
if person_handle == None:
|
||||
return False
|
||||
if person_handle in self.famalies_seen:
|
||||
if not person_handle or person_handle in self.famalies_seen:
|
||||
return False
|
||||
|
||||
person = self.database.get_person_from_handle(person_handle)
|
||||
@ -632,7 +607,7 @@ class RecurseDown:
|
||||
|
||||
family = self.database.get_family_from_handle(family_handle)
|
||||
|
||||
if family.get_child_ref_list() != []:
|
||||
if family.get_child_ref_list():
|
||||
return True
|
||||
return False
|
||||
|
||||
@ -641,6 +616,7 @@ class RecurseDown:
|
||||
Quickly check to see if we want to continue recursion
|
||||
still we want to respect the FamaliesSeen list
|
||||
"""
|
||||
|
||||
person = self.database.get_person_from_handle(person_handle)
|
||||
|
||||
show = False
|
||||
@ -656,7 +632,7 @@ class RecurseDown:
|
||||
# self.famalies_seen.append(person_handle)
|
||||
# show = False
|
||||
|
||||
if show == True:
|
||||
if show:
|
||||
self.bold_now = 1
|
||||
self.recurse(person_handle, level, 0, None)
|
||||
|
||||
@ -742,6 +718,7 @@ class MakeFamilyTree(RecurseDown):
|
||||
order of people inserted into Persons is important.
|
||||
makes sure that order is done correctly.
|
||||
"""
|
||||
|
||||
def __init__(self, dbase, canvas):
|
||||
RecurseDown.__init__(self, dbase, canvas)
|
||||
|
||||
@ -819,7 +796,7 @@ class MakeFamilyTree(RecurseDown):
|
||||
#if the condition is true, we only want to show
|
||||
#this parent again IF s/he has children
|
||||
show = self.has_children(father1_h)
|
||||
if show == False:
|
||||
if not show:
|
||||
self.famalies_seen.append(father1_h)
|
||||
|
||||
father2_id = self.add_family( 0, family2, None )
|
||||
@ -833,7 +810,7 @@ class MakeFamilyTree(RecurseDown):
|
||||
#if my father does not have parents (he is the highest)
|
||||
#######################
|
||||
#do his OTHER wives first.
|
||||
if family2 == None and father1:
|
||||
if not family2 and father1:
|
||||
self.recurse_if(father1_h, 1)
|
||||
|
||||
|
||||
@ -842,10 +819,7 @@ class MakeFamilyTree(RecurseDown):
|
||||
#######################
|
||||
if family2:
|
||||
#We need to add dad to the family
|
||||
if self.inlc_marr:
|
||||
parent = family2_id
|
||||
else:
|
||||
parent = father2_id
|
||||
parent = family2_id if self.inlc_marr else father2_id
|
||||
else:
|
||||
parent = None
|
||||
|
||||
@ -869,10 +843,10 @@ class MakeFamilyTree(RecurseDown):
|
||||
|
||||
#make sure there is at least one child in this family.
|
||||
#if not put in a placeholder
|
||||
if line.end == []:
|
||||
if not line.end:
|
||||
box = PlaceHolderBox((father1_b[0]+1, 0))
|
||||
self.add_to_col(box)
|
||||
line.end.append(box)
|
||||
line.end = [box]
|
||||
|
||||
#######################
|
||||
#######################
|
||||
@ -920,7 +894,7 @@ class MakeFamilyTree(RecurseDown):
|
||||
#######################
|
||||
#if my mother does not have parents (she is the highest)
|
||||
#Then do her OTHER spouses.
|
||||
if family2 == None and mother1:
|
||||
if not family2 and mother1:
|
||||
self.recurse_if(mother1_h, 1)
|
||||
|
||||
#######################
|
||||
@ -1006,7 +980,7 @@ class MakeReport(object):
|
||||
|
||||
def __move_col_from_here_down(self, box, amount):
|
||||
"""Move me and everyone below me in this column only down"""
|
||||
while box is not None:
|
||||
while box:
|
||||
box.y_cm += amount
|
||||
box = box.next
|
||||
|
||||
@ -1014,8 +988,8 @@ class MakeReport(object):
|
||||
"""Move me, everyone below me in this column,
|
||||
and all of our children (and childrens children) down."""
|
||||
col = [box]
|
||||
while len(col) > 0:
|
||||
if len(col) == 1 and col[0].line_to is not None:
|
||||
while col:
|
||||
if len(col) == 1 and col[0].line_to:
|
||||
col.append(col[0].line_to.end[0])
|
||||
|
||||
col[0].y_cm += amount
|
||||
@ -1027,7 +1001,7 @@ class MakeReport(object):
|
||||
def __next_family_group(self, box):
|
||||
""" a helper function. Assume box is at the start of a family block.
|
||||
get this family block. """
|
||||
while box is not None:
|
||||
while box:
|
||||
left_group = []
|
||||
|
||||
#Form the parental (left) group.
|
||||
@ -1037,12 +1011,12 @@ class MakeReport(object):
|
||||
left_group.append(box)
|
||||
box = box.next
|
||||
|
||||
if box is not None and box.level[1] != 0 and self.inlc_marr:
|
||||
if box and box.level[1] != 0 and self.inlc_marr:
|
||||
#add/start with the marriage box
|
||||
left_group.append(box)
|
||||
box = box.next
|
||||
|
||||
if box is not None and box.level[1] != 0 and self.max_spouses > 0:
|
||||
if box and box.level[1] != 0 and self.max_spouses > 0:
|
||||
#add/start with the spousal box
|
||||
left_group.append(box)
|
||||
box = box.next
|
||||
@ -1050,14 +1024,14 @@ class MakeReport(object):
|
||||
right_group = []
|
||||
#Form the children (right) group.
|
||||
for spouses in left_group:
|
||||
if spouses.line_to is not None:
|
||||
if spouses.line_to:
|
||||
right_group += spouses.line_to.end
|
||||
#will only be one. but in the family report,
|
||||
#Dad and mom point to the same line
|
||||
break
|
||||
|
||||
#we now have everyone we want
|
||||
if right_group != []:
|
||||
if right_group:
|
||||
return left_group, right_group
|
||||
#else
|
||||
# no children, so no family. go again until we find one to return.
|
||||
@ -1069,9 +1043,9 @@ class MakeReport(object):
|
||||
(parents with children) that may need to be moved. """
|
||||
for x_col in range(len(self.cols)-2, -1, -1):
|
||||
box = self.cols[x_col][0] #The first person in this col
|
||||
while box is not None:
|
||||
while box:
|
||||
left_group, right_group = self.__next_family_group(box)
|
||||
if left_group is None:
|
||||
if not left_group:
|
||||
box = None #we found the end of this col
|
||||
else:
|
||||
yield left_group, right_group
|
||||
@ -1093,7 +1067,7 @@ class MakeReport(object):
|
||||
if self.compress_tree:
|
||||
#calculate a new left and right move points
|
||||
for left_line in left_group:
|
||||
if left_line.line_to is not None:
|
||||
if left_line.line_to:
|
||||
break
|
||||
left_center = left_line.y_cm + (left_line.height /2)
|
||||
|
||||
@ -1143,7 +1117,7 @@ class MakeReport(object):
|
||||
#if so we need to move down mariage information
|
||||
#and mom!
|
||||
left_line = left_group[0].line_to
|
||||
if left_line is None:
|
||||
if not left_line:
|
||||
left_line = left_group[1].line_to
|
||||
left_group = left_line.start
|
||||
|
||||
@ -1182,7 +1156,7 @@ class MakeReport(object):
|
||||
#Width of each column of people - self.rept_opt.box_width
|
||||
#width of each column (or row) of lines - self.rept_opt.col_width
|
||||
|
||||
if len(self.cols[0]) == 0:
|
||||
if not self.cols[0]:
|
||||
#We wanted to print parents of starting person/family but
|
||||
#there were none!
|
||||
#remove column 0 and move everyone back one level
|
||||
|
Loading…
Reference in New Issue
Block a user