added back copyright notices
added great updates given to me by Gerald Britton svn: r16402
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user