Some pylint cleanups

This commit is contained in:
prculley
2019-07-18 09:59:10 -05:00
parent 56afb5bca9
commit e894c4478f
2 changed files with 81 additions and 67 deletions

View File

@@ -42,7 +42,6 @@ from gramps.gen.plug.menu import (TextOption, NumberOption, BooleanOption,
EnumeratedListOption, StringOption, EnumeratedListOption, StringOption,
PersonOption) PersonOption)
from gramps.gen.plug.report import Report, MenuReportOptions, stdoptions from gramps.gen.plug.report import Report, MenuReportOptions, stdoptions
from gramps.gen.plug.report import utils
from gramps.gen.plug.docgen import (FontStyle, ParagraphStyle, GraphicsStyle, from gramps.gen.plug.docgen import (FontStyle, ParagraphStyle, GraphicsStyle,
FONT_SANS_SERIF, PARA_ALIGN_CENTER) FONT_SANS_SERIF, PARA_ALIGN_CENTER)
from gramps.plugins.lib.libtreebase import * from gramps.plugins.lib.libtreebase import *
@@ -64,6 +63,7 @@ _MARR = _("marriage abbreviation|m."),
LVL_GEN, LVL_INDX, LVL_Y = range(3) LVL_GEN, LVL_INDX, LVL_Y = range(3)
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #
# Box classes # Box classes
@@ -82,6 +82,7 @@ class PersonBox(BoxBase):
def __lt__(self, other): def __lt__(self, other):
return self.level[LVL_Y] < other.level[LVL_Y] return self.level[LVL_Y] < other.level[LVL_Y]
class FamilyBox(BoxBase): class FamilyBox(BoxBase):
""" """
Calculates information about the box that will print on a page Calculates information about the box that will print on a page
@@ -114,6 +115,7 @@ class TitleN(TitleNoDisplay):
self.mark_text = self._("Ancestor Graph") self.mark_text = self._("Ancestor Graph")
self.text = '' self.text = ''
class TitleA(TitleBox): class TitleA(TitleBox):
"""Title class for the report """ """Title class for the report """
def __init__(self, doc, locale, name_displayer): def __init__(self, doc, locale, name_displayer):
@@ -172,31 +174,32 @@ class CalcItems:
def calc_person(self, index, indi_handle, fams_handle): def calc_person(self, index, indi_handle, fams_handle):
working_lines = "" working_lines = ""
if index[1] % 2 == 0 or (index[1] == 1 and self.center_use == 0): if index[1] % 2 == 0 or (index[1] == 1 and self.center_use == 0):
if indi_handle == fams_handle == None: if indi_handle == fams_handle is None:
working_lines = self.__calc_l.calc_lines( working_lines = self.__calc_l.calc_lines(
None, None, self._gui.get_val("father_disp")) None, None, self._gui.get_val("father_disp"))
else: else:
working_lines = self.disp_father working_lines = self.disp_father
else: else:
if indi_handle == fams_handle == None: if indi_handle == fams_handle is None:
working_lines = self.__calc_l.calc_lines( working_lines = self.__calc_l.calc_lines(
None, None, self._gui.get_val("mother_disp")) None, None, self._gui.get_val("mother_disp"))
else: else:
working_lines = self.disp_mother working_lines = self.disp_mother
if indi_handle == fams_handle == None: if indi_handle == fams_handle is None:
return working_lines return working_lines
else: else:
return self.__calc_l.calc_lines(indi_handle, fams_handle, return self.__calc_l.calc_lines(indi_handle, fams_handle,
working_lines) working_lines)
def calc_marriage(self, indi_handle, fams_handle): def calc_marriage(self, indi_handle, fams_handle):
if indi_handle == fams_handle == None: if indi_handle == fams_handle is None:
return self.__blank_marriage return self.__blank_marriage
else: else:
return self.__calc_l.calc_lines(indi_handle, fams_handle, return self.__calc_l.calc_lines(indi_handle, fams_handle,
self.disp_marr) self.disp_marr)
class MakeAncestorTree(AscendPerson): class MakeAncestorTree(AscendPerson):
""" """
The main procedure to use recursion to make the tree based off of a person. The main procedure to use recursion to make the tree based off of a person.
@@ -223,9 +226,9 @@ class MakeAncestorTree(AscendPerson):
""" Makes a person box and add that person into the Canvas. """ """ Makes a person box and add that person into the Canvas. """
#print str(index) + " add_person " + str(indi_handle) #print str(index) + " add_person " + str(indi_handle)
myself = PersonBox((index[0]-1,) + index[1:]) myself = PersonBox((index[0] - 1,) + index[1:])
if index[LVL_GEN] == 1: #Center Person if index[LVL_GEN] == 1: # Center Person
self.center_family = fams_handle self.center_family = fams_handle
if index[LVL_GEN] > self.max_generation: if index[LVL_GEN] > self.max_generation:
@@ -235,7 +238,7 @@ class MakeAncestorTree(AscendPerson):
indi_handle, fams_handle) indi_handle, fams_handle)
# myself.text[0] = myself.text[0] + ' ' + repr(index) # for debugging # myself.text[0] = myself.text[0] + ' ' + repr(index) # for debugging
if indi_handle is not None: # None is legal for an empty box if indi_handle is not None: # None is legal for an empty box
myself.add_mark(self.database, myself.add_mark(self.database,
self.database.get_person_from_handle(indi_handle)) self.database.get_person_from_handle(indi_handle))
@@ -245,12 +248,12 @@ class MakeAncestorTree(AscendPerson):
indx = index[LVL_GEN] indx = index[LVL_GEN]
self.lines[indx] = myself self.lines[indx] = myself
if indx > 1: if indx > 1:
if self.lines[indx-1].line_to is None: if self.lines[indx - 1].line_to is None:
line = LineBase(self.lines[indx-1]) line = LineBase(self.lines[indx - 1])
self.lines[indx-1].line_to = line self.lines[indx - 1].line_to = line
self.canvas.add_line(line) self.canvas.add_line(line)
else: else:
line = self.lines[indx-1].line_to line = self.lines[indx - 1].line_to
line.add_to(myself) line.add_to(myself)
return myself return myself
@@ -264,7 +267,7 @@ class MakeAncestorTree(AscendPerson):
if not self.inlc_marr: if not self.inlc_marr:
return return
myself = FamilyBox((index[0]-1,) + index[1:]) myself = FamilyBox((index[0] - 1,) + index[1:])
#calculate the text. #calculate the text.
myself.text = self.calc_items.calc_marriage(indi_handle, fams_handle) myself.text = self.calc_items.calc_marriage(indi_handle, fams_handle)
@@ -280,7 +283,7 @@ class MakeAncestorTree(AscendPerson):
tmp_y = index - (2**x_level) tmp_y = index - (2**x_level)
#Calculate which row in the table (yes table) of people. #Calculate which row in the table (yes table) of people.
delta = (2**self.max_generation) // (2**(x_level)) delta = (2**self.max_generation) // (2**(x_level))
return int((delta/2) + (tmp_y*delta)) -1 return int((delta / 2) + (tmp_y * delta)) - 1
def do_y_indx(self): def do_y_indx(self):
''' Make the y_index for all boxes ''' Make the y_index for all boxes
@@ -292,8 +295,8 @@ class MakeAncestorTree(AscendPerson):
for box in self.canvas.boxes: for box in self.canvas.boxes:
if "fam" in box.boxstr: if "fam" in box.boxstr:
box.level = box.level + \ box.level = box.level + \
(self.y_index(box.level[LVL_GEN]-1, (self.y_index(box.level[LVL_GEN] - 1,
int(box.level[LVL_INDX]/2)),) int(box.level[LVL_INDX] / 2)),)
else: else:
box.level = box.level + \ box.level = box.level + \
(self.y_index(box.level[LVL_GEN], box.level[LVL_INDX]),) (self.y_index(box.level[LVL_GEN], box.level[LVL_INDX]),)
@@ -304,10 +307,10 @@ class MakeAncestorTree(AscendPerson):
#Then there could be a gap. Remove this gap #Then there could be a gap. Remove this gap
if min_y > 0: if min_y > 0:
for box in self.canvas.boxes: for box in self.canvas.boxes:
box.level = box.level[:LVL_Y] + (box.level[LVL_Y]-min_y,) box.level = box.level[:LVL_Y] + (box.level[LVL_Y] - min_y,)
#Now that we have y_index, lets see if we need to squish the tree #Now that we have y_index, lets see if we need to squish the tree
self.canvas.boxes.sort() #Sort them on the y_index self.canvas.boxes.sort() # Sort them on the y_index
if not self.compress_tree: if not self.compress_tree:
return return
#boxes are already in top down [LVL_Y] form so lets #boxes are already in top down [LVL_Y] form so lets
@@ -336,20 +339,19 @@ class MakeAncestorTree(AscendPerson):
line = center.line_to line = center.line_to
level = center.level[LVL_Y] level = center.level[LVL_Y]
move = level - (len(mykids)//2) + ((len(mykids)+1)%2) move = level - (len(mykids) // 2) + ((len(mykids) + 1) % 2)
if move < 0: if move < 0:
# more kids than parents. ran off the page. Move them all down # more kids than parents. ran off the page. Move them all down
for box in self.canvas.boxes: for box in self.canvas.boxes:
box.level = (box.level[0], box.level[1], box.level[2]-move) box.level = (box.level[0], box.level[1], box.level[2] - move)
move = 0 move = 0
line.start = [] line.start = []
rrr = -1 # if len(mykids)%2 == 1 else 0 rrr = -1 # if len(mykids)%2 == 1 else 0
for kid in mykids: for kid in mykids:
rrr += 1 rrr += 1
mee = self.add_person((1, 1, move+rrr), kid, self.center_family) mee = self.add_person((1, 1, move + rrr), kid, self.center_family)
line.add_from(mee) line.add_from(mee)
#mee.level = (0, 1, level - (len(mykids)//2)+rrr) #mee.level = (0, 1, level - (len(mykids)//2)+rrr)
@@ -387,7 +389,8 @@ class LRTransform:
def __init__(self, canvas, max_generations): def __init__(self, canvas, max_generations):
self.canvas = canvas self.canvas = canvas
self.rept_opts = canvas.report_opts self.rept_opts = canvas.report_opts
self.y_offset = self.rept_opts.littleoffset*2 + self.canvas.title.height self.y_offset = (self.rept_opts.littleoffset * 2 +
self.canvas.title.height)
def _place(self, box): def _place(self, box):
""" put the box in it's correct spot """ """ put the box in it's correct spot """
@@ -410,6 +413,7 @@ class LRTransform:
for box in self.canvas.boxes: for box in self.canvas.boxes:
self._place(box) self._place(box)
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #
# class make_report # class make_report
@@ -441,7 +445,7 @@ class MakeReport:
self.canvas.set_box_height_width(box) self.canvas.set_box_height_width(box)
if box.width > self.canvas.report_opts.max_box_width: if box.width > self.canvas.report_opts.max_box_width:
self.canvas.report_opts.max_box_width = box.width #+ box.shadow self.canvas.report_opts.max_box_width = box.width # + box.shadow
if box.level[LVL_Y] > 0: if box.level[LVL_Y] > 0:
if box.level[LVL_INDX] % 2 == 0 and box.height > self.father_ht: if box.level[LVL_INDX] % 2 == 0 and box.height > self.father_ht:
@@ -456,7 +460,7 @@ class MakeReport:
return self.max_generations return self.max_generations
def start(self): def start(self):
## __gui = GUIConnect() # __gui = GUIConnect()
# 1. # 1.
#set the sizes for each box and get the max_generations. #set the sizes for each box and get the max_generations.
self.father_ht = 0.0 self.father_ht = 0.0
@@ -466,10 +470,10 @@ class MakeReport:
if self.compress_tree and not self.inlc_marr: if self.compress_tree and not self.inlc_marr:
self.canvas.report_opts.max_box_height = \ self.canvas.report_opts.max_box_height = \
min(self.father_ht, self.mother_ht) min(self.father_ht, self.mother_ht)
else: else:
self.canvas.report_opts.max_box_height = \ self.canvas.report_opts.max_box_height = \
max(self.father_ht, self.mother_ht) max(self.father_ht, self.mother_ht)
#At this point we know everything we need to make the report. #At this point we know everything we need to make the report.
#Size of each column of people - self.rept_opt.box_width #Size of each column of people - self.rept_opt.box_width
@@ -492,7 +496,8 @@ class GUIConnect:
""" """
__shared_state = {} __shared_state = {}
def __init__(self): #We are BORG!
def __init__(self): # We are BORG!
self.__dict__ = self.__shared_state self.__dict__ = self.__shared_state
def set__opts(self, options, locale, name_displayer): def set__opts(self, options, locale, name_displayer):
@@ -533,6 +538,7 @@ class GUIConnect:
def compress_tree(self): def compress_tree(self):
return self.get_val("compress_tree") return self.get_val("compress_tree")
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #
# AncestorTree # AncestorTree
@@ -600,7 +606,7 @@ class AncestorTree(Report):
ReportOptions(self.doc, font_normal, 'AC2-line')) ReportOptions(self.doc, font_normal, 'AC2-line'))
self.canvas.report_opts.box_shadow *= \ self.canvas.report_opts.box_shadow *= \
self.connect.get_val('shadowscale') self.connect.get_val('shadowscale')
self.canvas.report_opts.box_pgap *= self.connect.get_val('box_Yscale') self.canvas.report_opts.box_pgap *= self.connect.get_val('box_Yscale')
self.canvas.report_opts.box_mgap *= self.connect.get_val('box_Yscale') self.canvas.report_opts.box_mgap *= self.connect.get_val('box_Yscale')
@@ -608,7 +614,7 @@ class AncestorTree(Report):
_('Making the Tree...'), 4) as step: _('Making the Tree...'), 4) as step:
#make the tree onto the canvas #make the tree onto the canvas
## inlc_marr = self.connect.get_val("inc_marr") # inlc_marr = self.connect.get_val("inc_marr")
self.max_generations = self.connect.get_val('maxgen') self.max_generations = self.connect.get_val('maxgen')
tree = MakeAncestorTree(database, self.canvas) tree = MakeAncestorTree(database, self.canvas)
tree.start(self.connect.get_val('pid')) tree.start(self.connect.get_val('pid'))
@@ -626,7 +632,7 @@ class AncestorTree(Report):
#make the report as big as it wants to be. #make the report as big as it wants to be.
report = MakeReport(database, self.doc, self.canvas, font_normal) report = MakeReport(database, self.doc, self.canvas, font_normal)
report.start() report.start()
self.max_generations = report.get_generations() #already know self.max_generations = report.get_generations() # already know
report = None report = None
step() step()
@@ -670,8 +676,9 @@ class AncestorTree(Report):
colsperpage = self.doc.get_usable_width() colsperpage = self.doc.get_usable_width()
colsperpage += self.canvas.report_opts.col_width colsperpage += self.canvas.report_opts.col_width
colsperpage = int(colsperpage / (self.canvas.report_opts.max_box_width + colsperpage = int(
self.canvas.report_opts.col_width)) colsperpage / (self.canvas.report_opts.max_box_width +
self.canvas.report_opts.col_width))
colsperpage = colsperpage or 1 colsperpage = colsperpage or 1
##################### #####################
@@ -761,6 +768,7 @@ class AncestorTree(Report):
self.doc.set_style_sheet(style_sheet) self.doc.set_style_sheet(style_sheet)
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #
# AncestorTreeOptions # AncestorTreeOptions
@@ -853,8 +861,7 @@ class AncestorTreeOptions(MenuReportOptions):
self.scale.add_item(1, _("Scale tree to fit page width only")) self.scale.add_item(1, _("Scale tree to fit page width only"))
self.scale.add_item(2, _("Scale tree to fit the size of the page")) self.scale.add_item(2, _("Scale tree to fit the size of the page"))
self.scale.set_help( self.scale.set_help(
_("Whether to scale the tree to fit a specific paper size") _("Whether to scale the tree to fit a specific paper size"))
)
menu.add_option(category_name, "scale_tree", self.scale) menu.add_option(category_name, "scale_tree", self.scale)
self.scale.connect('value-changed', self.__check_blank) self.scale.connect('value-changed', self.__check_blank)
@@ -863,7 +870,7 @@ class AncestorTreeOptions(MenuReportOptions):
_("Resize Page to Fit Tree size\n" _("Resize Page to Fit Tree size\n"
"\n" "\n"
"Note: Overrides options in the 'Paper Option' tab" "Note: Overrides options in the 'Paper Option' tab"
), ),
False) False)
self.__onepage.set_help( self.__onepage.set_help(
_("Whether to resize the page to fit the size \n" _("Whether to resize the page to fit the size \n"
@@ -880,7 +887,7 @@ class AncestorTreeOptions(MenuReportOptions):
"\n" "\n"
"With 'Scale tree to fit the size of the page' the page\n" "With 'Scale tree to fit the size of the page' the page\n"
" is resized to remove any gap in either height or width" " is resized to remove any gap in either height or width"
)) ))
menu.add_option(category_name, "resize_page", self.__onepage) menu.add_option(category_name, "resize_page", self.__onepage)
self.__onepage.connect('value-changed', self.__check_blank) self.__onepage.connect('value-changed', self.__check_blank)
else: else:
@@ -910,8 +917,8 @@ class AncestorTreeOptions(MenuReportOptions):
disp = TextOption(_("Father\nDisplay Format"), disp = TextOption(_("Father\nDisplay Format"),
["$n", ["$n",
"%s $b" %_BORN, "%s $b" % _BORN,
"-{%s $d}" %_DIED]) "-{%s $d}" % _DIED])
disp.set_help(_("Display format for the fathers box.")) disp.set_help(_("Display format for the fathers box."))
menu.add_option(category_name, "father_disp", disp) menu.add_option(category_name, "father_disp", disp)
@@ -925,9 +932,9 @@ class AncestorTreeOptions(MenuReportOptions):
disp_mom = TextOption(_("Mother\nDisplay Format"), disp_mom = TextOption(_("Mother\nDisplay Format"),
["$n", ["$n",
"%s $b" %_BORN, "%s $b" % _BORN,
"%s $m" %_MARR, "%s $m" % _MARR,
"-{%s $d}" %_DIED]) "-{%s $d}" % _DIED])
disp_mom.set_help(_("Display format for the mothers box.")) disp_mom.set_help(_("Display format for the mothers box."))
menu.add_option(category_name, "mother_disp", disp_mom) menu.add_option(category_name, "mother_disp", disp_mom)
@@ -945,7 +952,7 @@ class AncestorTreeOptions(MenuReportOptions):
self.incmarr.connect('value-changed', self._incmarr_changed) self.incmarr.connect('value-changed', self._incmarr_changed)
self.marrdisp = StringOption(_("Marriage\nDisplay Format"), self.marrdisp = StringOption(_("Marriage\nDisplay Format"),
"%s $m" % _MARR) "%s $m" % _MARR)
self.marrdisp.set_help(_("Display format for the marital box.")) self.marrdisp.set_help(_("Display format for the marital box."))
menu.add_option(category_name, "marr_disp", self.marrdisp) menu.add_option(category_name, "marr_disp", self.marrdisp)
self._incmarr_changed() self._incmarr_changed()
@@ -964,7 +971,8 @@ class AncestorTreeOptions(MenuReportOptions):
# _('Include thumbnail images of people'), False) # _('Include thumbnail images of people'), False)
# self.__include_images.set_help( # self.__include_images.set_help(
# _("Whether to include thumbnails of people.")) # _("Whether to include thumbnails of people."))
# menu.add_option(category_name, "includeImages", self.__include_images) # menu.add_option(category_name, "includeImages",
# self.__include_images)
self.usenote = BooleanOption(_('Include a note'), False) self.usenote = BooleanOption(_('Include a note'), False)
self.usenote.set_help(_("Whether to include a note on the report.")) self.usenote.set_help(_("Whether to include a note on the report."))
@@ -991,7 +999,7 @@ class AncestorTreeOptions(MenuReportOptions):
menu.add_option(category_name, "box_Yscale", self.box_Y_sf) menu.add_option(category_name, "box_Yscale", self.box_Y_sf)
self.box_shadow_sf = NumberOption(_("box shadow scale factor"), self.box_shadow_sf = NumberOption(_("box shadow scale factor"),
1.00, 0.00, 2.00, 0.01) # down to 0 1.00, 0.00, 2.00, 0.01) # down to 0
self.box_shadow_sf.set_help(_("Make the box shadow bigger or smaller")) self.box_shadow_sf.set_help(_("Make the box shadow bigger or smaller"))
menu.add_option(category_name, "shadowscale", self.box_shadow_sf) menu.add_option(category_name, "shadowscale", self.box_shadow_sf)
@@ -1033,13 +1041,13 @@ class AncestorTreeOptions(MenuReportOptions):
for itr in range(2, max_gen)) for itr in range(2, max_gen))
self.fillout.set_items(item_list) self.fillout.set_items(item_list)
if old_val+2 > len(item_list): if old_val + 2 > len(item_list):
self.fillout.set_value(len(item_list) -2) self.fillout.set_value(len(item_list) - 2)
def make_default_style(self, default_style): def make_default_style(self, default_style):
"""Make the default output style for the Ancestor Tree.""" """Make the default output style for the Ancestor Tree."""
## Paragraph Styles: # Paragraph Styles:
font = FontStyle() font = FontStyle()
font.set_size(9) font.set_size(9)
font.set_type_face(FONT_SANS_SERIF) font.set_type_face(FONT_SANS_SERIF)
@@ -1068,16 +1076,16 @@ class AncestorTreeOptions(MenuReportOptions):
para_style.set_description(_('The style used for the title.')) para_style.set_description(_('The style used for the title.'))
default_style.add_paragraph_style("AC2-Title", para_style) default_style.add_paragraph_style("AC2-Title", para_style)
## Draw styles # Draw styles
graph_style = GraphicsStyle() graph_style = GraphicsStyle()
graph_style.set_paragraph_style("AC2-Normal") graph_style.set_paragraph_style("AC2-Normal")
graph_style.set_shadow(1, box_shadow) #shadow set by text size graph_style.set_shadow(1, box_shadow) # shadow set by text size
graph_style.set_fill_color((255, 255, 255)) graph_style.set_fill_color((255, 255, 255))
default_style.add_draw_style("AC2-box", graph_style) default_style.add_draw_style("AC2-box", graph_style)
graph_style = GraphicsStyle() graph_style = GraphicsStyle()
graph_style.set_paragraph_style("AC2-Normal") graph_style.set_paragraph_style("AC2-Normal")
#graph_style.set_shadow(0, PT2CM(9)) #shadow set by text size #graph_style.set_shadow(0, PT2CM(9)) # shadow set by text size
graph_style.set_fill_color((255, 255, 255)) graph_style.set_fill_color((255, 255, 255))
default_style.add_draw_style("AC2-fam-box", graph_style) default_style.add_draw_style("AC2-fam-box", graph_style)

View File

@@ -22,7 +22,6 @@
""" """
from gramps.gen.plug.report import utils from gramps.gen.plug.report import utils
from gramps.gen.lib import ChildRefType
#------------------------------------------------------------------------ #------------------------------------------------------------------------
@@ -56,6 +55,7 @@ class _PersonSeen:
if person_handle is not None: if person_handle is not None:
self.people_seen.add(person_handle) self.people_seen.add(person_handle)
class _FamilySeen: class _FamilySeen:
""" librecurse base boject only """ librecurse base boject only
Keep track of the famalies that have been seen so we can call the correct Keep track of the famalies that have been seen so we can call the correct
@@ -80,6 +80,7 @@ class _FamilySeen:
self.add_marriage(level, person_handle, family_handle) self.add_marriage(level, person_handle, family_handle)
self.families_seen.add(family_handle) self.families_seen.add(family_handle)
class _StopRecurse: class _StopRecurse:
""" A simple class to break out the """ A simple class to break out the
. stop_recursion . stop_recursion
@@ -101,7 +102,7 @@ class _StopRecurse:
def can_recurse(self): def can_recurse(self):
""" Has the upper class told up to stop or can we continue? """ """ Has the upper class told up to stop or can we continue? """
return self.__stop_recursion == False return not self.__stop_recursion
#------------------------------------------------------------------------ #------------------------------------------------------------------------
@@ -276,7 +277,7 @@ class DescendPerson(_StopRecurse, _PersonSeen, _FamilySeen):
for family_handle in family_handles: for family_handle in family_handles:
#Marriage box if the option is there. #Marriage box if the option is there.
self._add_marriage((g_level, s_level + 1), self._add_marriage((g_level, s_level + 1),
person_handle, family_handle) person_handle, family_handle)
if not self.can_recurse(): if not self.can_recurse():
self.continue_recursion() self.continue_recursion()
@@ -288,7 +289,7 @@ class DescendPerson(_StopRecurse, _PersonSeen, _FamilySeen):
if self.max_spouses > s_level: if self.max_spouses > s_level:
self.__this_slevel = s_level + 1 self.__this_slevel = s_level + 1
self._add_person((g_level, s_level + 1), self._add_person((g_level, s_level + 1),
spouse_handle, family_handle) spouse_handle, family_handle)
if not self.can_recurse: if not self.can_recurse:
self.continue_recursion() self.continue_recursion()
@@ -446,13 +447,13 @@ class AscendPerson(_StopRecurse, _PersonSeen):
# Recursively call the function. It is okay if the handle is None, # Recursively call the function. It is okay if the handle is None,
# since routine handles a handle of None # since routine handles a handle of None
self.__fill(generation+1, index*2, mx_fill-1) self.__fill(generation + 1, index * 2, mx_fill - 1)
if mx_fill > 1: # marriage of parents if mx_fill > 1: # marriage of parents
self.add_marriage((generation+1, index*2), None, None) self.add_marriage((generation + 1, index * 2), None, None)
if not self.can_recurse(): if not self.can_recurse():
self.continue_recursion() self.continue_recursion()
return return
self.__fill(generation+1, (index*2)+1, mx_fill-1) self.__fill(generation + 1, (index * 2) + 1, mx_fill - 1)
def __iterate(self, generation, index, person_handle, full_family_handle): def __iterate(self, generation, index, person_handle, full_family_handle):
""" """
@@ -478,15 +479,15 @@ class AscendPerson(_StopRecurse, _PersonSeen):
person = self.database.get_person_from_handle(person_handle) person = self.database.get_person_from_handle(person_handle)
# we have a valid person, add him/her # we have a valid person, add him/her
self._add_person((generation, index), person_handle, full_family_handle) self._add_person((generation, index), person_handle,
full_family_handle)
# has the user canceled recursion? # has the user canceled recursion?
if not self.can_recurse(): if not self.can_recurse():
self.continue_recursion() self.continue_recursion()
return return
# Now recurse on the parents
#Now recurse on the parents
family_handle = person.get_main_parents_family_handle() family_handle = person.get_main_parents_family_handle()
if family_handle is not None: if family_handle is not None:
@@ -498,21 +499,26 @@ class AscendPerson(_StopRecurse, _PersonSeen):
mother_handle = None mother_handle = None
# Recursively call the function. It is okay if the handle is None, # Recursively call the function. It is okay if the handle is None,
self.__iterate(generation+1, index*2, father_handle, family_handle) #recurse on dad self.__iterate(generation + 1, index * 2, father_handle,
family_handle) # recurse on dad
if generation < self.max_generations: if generation < self.max_generations:
if father_handle is not None: # Stil winin max_generations if father_handle is not None: # Stil winin max_generations
self.add_marriage((generation+1, index*2), father_handle, family_handle) self.add_marriage((generation + 1, index * 2), father_handle,
family_handle)
elif mother_handle is not None: elif mother_handle is not None:
self.add_marriage((generation+1, index*2), mother_handle, family_handle) self.add_marriage((generation + 1, index * 2), mother_handle,
family_handle)
elif family_handle is not None: elif family_handle is not None:
self.add_marriage((generation+1, index*2), None, family_handle) self.add_marriage((generation + 1, index * 2), None,
family_handle)
elif self.fill_out > 0: elif self.fill_out > 0:
self.add_marriage((generation+1, index*2), None, None) self.add_marriage((generation + 1, index * 2), None, None)
if not self.can_recurse(): if not self.can_recurse():
self.continue_recursion() self.continue_recursion()
return return
self.__iterate(generation+1, (index*2)+1, mother_handle, family_handle) #recurse mom self.__iterate(generation + 1, (index * 2) + 1, mother_handle,
family_handle) # recurse mom
def recurse(self, person_handle): def recurse(self, person_handle):
""" """