diff --git a/ChangeLog b/ChangeLog index df43aa89e..85914ed47 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2008-01-12 Brian Matherly + * src/plugins/GVHourGlass.py: Clean up PyLint warnings. + 2008-01-12 Benny Malengier * src/GrampsDisplay.py: open url in standard way * src/gramps.py: add comment on use of import gnome diff --git a/src/plugins/GVHourGlass.py b/src/plugins/GVHourGlass.py index 16242d961..ca004d1e1 100644 --- a/src/plugins/GVHourGlass.py +++ b/src/plugins/GVHourGlass.py @@ -22,6 +22,12 @@ """ Generate an hourglass graph using the GraphViz generator. """ +#------------------------------------------------------------------------ +# +# python modules +# +#------------------------------------------------------------------------ +from gettext import gettext as _ #------------------------------------------------------------------------ # @@ -40,41 +46,46 @@ import DateHandler # #------------------------------------------------------------------------ class HourGlassReport(Report): - - def __init__(self,database,person,options_class): + """ + An hourglass report displays ancestors and descendants of a center person. + """ + def __init__(self, database, person, options_class): """ Creates HourGlass object that produces the report. """ - Report.__init__(self,database,person,options_class) - self.db = database + Report.__init__(self, database, person, options_class) + self.__db = database self.max_descend = options_class.handler.options_dict['maxdescend'] self.max_ascend = options_class.handler.options_dict['maxascend'] pid = options_class.handler.options_dict['pid'] self.center_person = database.get_person_from_gramps_id(pid) def write_report(self): + """ + Generate the report. + """ self.add_person(self.center_person) - self.traverse_up(self.center_person,1) - self.traverse_down(self.center_person,1) + self.traverse_up(self.center_person, 1) + self.traverse_down(self.center_person, 1) - def traverse_down(self,person,gen): + def traverse_down(self, person, gen): """ Resursively find the descendants of the given person. """ if gen > self.max_descend: return for family_handle in person.get_family_handle_list(): - family = self.db.get_family_from_handle(family_handle) + family = self.__db.get_family_from_handle(family_handle) self.add_family(family) self.doc.add_link( person.get_gramps_id(), family.get_gramps_id() ) for child_ref in family.get_child_ref_list(): child_handle = child_ref.get_reference_handle() - child = self.db.get_person_from_handle(child_handle) + child = self.__db.get_person_from_handle(child_handle) self.add_person(child) - self.doc.add_link(family.get_gramps_id() ,child.get_gramps_id()) - self.traverse_down(child,gen+1) + self.doc.add_link(family.get_gramps_id(), child.get_gramps_id()) + self.traverse_down(child, gen+1) - def traverse_up(self,person,gen): + def traverse_up(self, person, gen): """ Resursively find the ancestors of the given person. """ @@ -82,43 +93,43 @@ class HourGlassReport(Report): return family_handle = person.get_main_parents_family_handle() if family_handle: - family = self.db.get_family_from_handle(family_handle) + family = self.__db.get_family_from_handle(family_handle) family_id = family.get_gramps_id() self.add_family(family) self.doc.add_link( family_id, person.get_gramps_id() ) father_handle = family.get_father_handle() if father_handle: - father = self.db.get_person_from_handle(father_handle) + father = self.__db.get_person_from_handle(father_handle) self.add_person(father) self.doc.add_link( father.get_gramps_id(), family_id ) - self.traverse_up(father,gen+1) + self.traverse_up(father, gen+1) mother_handle = family.get_mother_handle() if mother_handle: - mother = self.db.get_person_from_handle( mother_handle ) + mother = self.__db.get_person_from_handle( mother_handle ) self.add_person( mother ) self.doc.add_link( mother.get_gramps_id(), family_id ) self.traverse_up( mother, gen+1 ) - def add_person(self,person): + def add_person(self, person): """ Add a person to the Graph. The node id will be the person's gramps id. """ p_id = person.get_gramps_id() name = name_displayer.display_formal(person) - birth_evt = ReportUtils.get_birth_or_fallback(self.db,person) + birth_evt = ReportUtils.get_birth_or_fallback(self.__db, person) if birth_evt: birth = DateHandler.get_date(birth_evt) else: birth = "" - death_evt = ReportUtils.get_death_or_fallback(self.db,person) + death_evt = ReportUtils.get_death_or_fallback(self.__db, person) if death_evt: death = DateHandler.get_date(death_evt) else: death = "" - label = "%s \\n(%s - %s)" % (name,birth,death) + label = "%s \\n(%s - %s)" % (name, birth, death) gender = person.get_gender() if gender == person.MALE: @@ -128,18 +139,19 @@ class HourGlassReport(Report): else: color = 'lightgray' - self.doc.add_node(p_id,label,"box","","filled",color) + self.doc.add_node(p_id, label, "box", "", "filled", color) - def add_family(self,family): + def add_family(self, family): """ Add a family to the Graph. The node id will be the family's gramps id. """ family_id = family.get_gramps_id() label = "" - marriage = ReportUtils.find_marriage(self.db,family) + marriage = ReportUtils.find_marriage(self.__db, family) if marriage: label = DateHandler.get_date(marriage) - self.doc.add_node(family_id,label,"ellipse","","filled","lightyellow") + self.doc.add_node(family_id, label, "ellipse", "", + "filled", "lightyellow") #------------------------------------------------------------------------ # @@ -150,28 +162,31 @@ class HourGlassOptions(MenuReportOptions): """ Defines options for the HourGlass report. """ - def __init__(self,name,dbstate=None): - MenuReportOptions.__init__(self,name,dbstate) + def __init__(self, name, dbstate=None): + MenuReportOptions.__init__(self, name, dbstate) - def add_menu_options(self,menu,dbstate): - id = "" + def add_menu_options(self, menu, dbstate): + """ + Create all the menu options for this report. + """ + gid = "" if dbstate: - id = dbstate.get_active_person().get_gramps_id() - pid = PersonOption(_("Center Person"),id,dbstate) + gid = dbstate.get_active_person().get_gramps_id() + pid = PersonOption(_("Center Person"), gid, dbstate) pid.set_help(_("The center person for the report")) - menu.add_option("","pid",pid) + menu.add_option("", "pid", pid) category_name = _("Report Options") - max_gen = NumberOption(_('Max Descendant Generations'),10,1,15) + max_gen = NumberOption(_('Max Descendant Generations'), 10, 1, 15) max_gen.set_help(_("The number of generations of descendants to " \ "include in the report")) - menu.add_option(category_name,"maxdescend",max_gen) + menu.add_option(category_name, "maxdescend", max_gen) - max_gen = NumberOption(_('Max Ancestor Generations'),10,1,15) + max_gen = NumberOption(_('Max Ancestor Generations'), 10, 1, 15) max_gen.set_help(_("The number of generations of ancestors to " \ "include in the report")) - menu.add_option(category_name,"maxascend",max_gen) + menu.add_option(category_name, "maxascend", max_gen) #------------------------------------------------------------------------ #