Clean up PyLint warnings in GVHourGlass.py.
svn: r9789
This commit is contained in:
parent
a6fe002719
commit
789a33adfd
@ -1,3 +1,6 @@
|
|||||||
|
2008-01-12 Brian Matherly <brian@gramps-project.org>
|
||||||
|
* src/plugins/GVHourGlass.py: Clean up PyLint warnings.
|
||||||
|
|
||||||
2008-01-12 Benny Malengier <benny.malengier@gramps-project.org>
|
2008-01-12 Benny Malengier <benny.malengier@gramps-project.org>
|
||||||
* src/GrampsDisplay.py: open url in standard way
|
* src/GrampsDisplay.py: open url in standard way
|
||||||
* src/gramps.py: add comment on use of import gnome
|
* src/gramps.py: add comment on use of import gnome
|
||||||
|
@ -22,6 +22,12 @@
|
|||||||
"""
|
"""
|
||||||
Generate an hourglass graph using the GraphViz generator.
|
Generate an hourglass graph using the GraphViz generator.
|
||||||
"""
|
"""
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# python modules
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
from gettext import gettext as _
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -40,41 +46,46 @@ import DateHandler
|
|||||||
#
|
#
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
class HourGlassReport(Report):
|
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.
|
Creates HourGlass object that produces the report.
|
||||||
"""
|
"""
|
||||||
Report.__init__(self,database,person,options_class)
|
Report.__init__(self, database, person, options_class)
|
||||||
self.db = database
|
self.__db = database
|
||||||
self.max_descend = options_class.handler.options_dict['maxdescend']
|
self.max_descend = options_class.handler.options_dict['maxdescend']
|
||||||
self.max_ascend = options_class.handler.options_dict['maxascend']
|
self.max_ascend = options_class.handler.options_dict['maxascend']
|
||||||
pid = options_class.handler.options_dict['pid']
|
pid = options_class.handler.options_dict['pid']
|
||||||
self.center_person = database.get_person_from_gramps_id(pid)
|
self.center_person = database.get_person_from_gramps_id(pid)
|
||||||
|
|
||||||
def write_report(self):
|
def write_report(self):
|
||||||
|
"""
|
||||||
|
Generate the report.
|
||||||
|
"""
|
||||||
self.add_person(self.center_person)
|
self.add_person(self.center_person)
|
||||||
self.traverse_up(self.center_person,1)
|
self.traverse_up(self.center_person, 1)
|
||||||
self.traverse_down(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.
|
Resursively find the descendants of the given person.
|
||||||
"""
|
"""
|
||||||
if gen > self.max_descend:
|
if gen > self.max_descend:
|
||||||
return
|
return
|
||||||
for family_handle in person.get_family_handle_list():
|
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.add_family(family)
|
||||||
self.doc.add_link( person.get_gramps_id(), family.get_gramps_id() )
|
self.doc.add_link( person.get_gramps_id(), family.get_gramps_id() )
|
||||||
for child_ref in family.get_child_ref_list():
|
for child_ref in family.get_child_ref_list():
|
||||||
child_handle = child_ref.get_reference_handle()
|
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.add_person(child)
|
||||||
self.doc.add_link(family.get_gramps_id() ,child.get_gramps_id())
|
self.doc.add_link(family.get_gramps_id(), child.get_gramps_id())
|
||||||
self.traverse_down(child,gen+1)
|
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.
|
Resursively find the ancestors of the given person.
|
||||||
"""
|
"""
|
||||||
@ -82,43 +93,43 @@ class HourGlassReport(Report):
|
|||||||
return
|
return
|
||||||
family_handle = person.get_main_parents_family_handle()
|
family_handle = person.get_main_parents_family_handle()
|
||||||
if 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()
|
family_id = family.get_gramps_id()
|
||||||
self.add_family(family)
|
self.add_family(family)
|
||||||
self.doc.add_link( family_id, person.get_gramps_id() )
|
self.doc.add_link( family_id, person.get_gramps_id() )
|
||||||
father_handle = family.get_father_handle()
|
father_handle = family.get_father_handle()
|
||||||
if 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.add_person(father)
|
||||||
self.doc.add_link( father.get_gramps_id(), family_id )
|
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()
|
mother_handle = family.get_mother_handle()
|
||||||
if 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.add_person( mother )
|
||||||
self.doc.add_link( mother.get_gramps_id(), family_id )
|
self.doc.add_link( mother.get_gramps_id(), family_id )
|
||||||
self.traverse_up( mother, gen+1 )
|
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.
|
Add a person to the Graph. The node id will be the person's gramps id.
|
||||||
"""
|
"""
|
||||||
p_id = person.get_gramps_id()
|
p_id = person.get_gramps_id()
|
||||||
name = name_displayer.display_formal(person)
|
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:
|
if birth_evt:
|
||||||
birth = DateHandler.get_date(birth_evt)
|
birth = DateHandler.get_date(birth_evt)
|
||||||
else:
|
else:
|
||||||
birth = ""
|
birth = ""
|
||||||
|
|
||||||
death_evt = ReportUtils.get_death_or_fallback(self.db,person)
|
death_evt = ReportUtils.get_death_or_fallback(self.__db, person)
|
||||||
if death_evt:
|
if death_evt:
|
||||||
death = DateHandler.get_date(death_evt)
|
death = DateHandler.get_date(death_evt)
|
||||||
else:
|
else:
|
||||||
death = ""
|
death = ""
|
||||||
|
|
||||||
label = "%s \\n(%s - %s)" % (name,birth,death)
|
label = "%s \\n(%s - %s)" % (name, birth, death)
|
||||||
|
|
||||||
gender = person.get_gender()
|
gender = person.get_gender()
|
||||||
if gender == person.MALE:
|
if gender == person.MALE:
|
||||||
@ -128,18 +139,19 @@ class HourGlassReport(Report):
|
|||||||
else:
|
else:
|
||||||
color = 'lightgray'
|
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.
|
Add a family to the Graph. The node id will be the family's gramps id.
|
||||||
"""
|
"""
|
||||||
family_id = family.get_gramps_id()
|
family_id = family.get_gramps_id()
|
||||||
label = ""
|
label = ""
|
||||||
marriage = ReportUtils.find_marriage(self.db,family)
|
marriage = ReportUtils.find_marriage(self.__db, family)
|
||||||
if marriage:
|
if marriage:
|
||||||
label = DateHandler.get_date(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.
|
Defines options for the HourGlass report.
|
||||||
"""
|
"""
|
||||||
def __init__(self,name,dbstate=None):
|
def __init__(self, name, dbstate=None):
|
||||||
MenuReportOptions.__init__(self,name,dbstate)
|
MenuReportOptions.__init__(self, name, dbstate)
|
||||||
|
|
||||||
def add_menu_options(self,menu,dbstate):
|
def add_menu_options(self, menu, dbstate):
|
||||||
id = ""
|
"""
|
||||||
|
Create all the menu options for this report.
|
||||||
|
"""
|
||||||
|
gid = ""
|
||||||
if dbstate:
|
if dbstate:
|
||||||
id = dbstate.get_active_person().get_gramps_id()
|
gid = dbstate.get_active_person().get_gramps_id()
|
||||||
pid = PersonOption(_("Center Person"),id,dbstate)
|
pid = PersonOption(_("Center Person"), gid, dbstate)
|
||||||
pid.set_help(_("The center person for the report"))
|
pid.set_help(_("The center person for the report"))
|
||||||
menu.add_option("","pid",pid)
|
menu.add_option("", "pid", pid)
|
||||||
|
|
||||||
category_name = _("Report Options")
|
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 " \
|
max_gen.set_help(_("The number of generations of descendants to " \
|
||||||
"include in the report"))
|
"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 " \
|
max_gen.set_help(_("The number of generations of ancestors to " \
|
||||||
"include in the report"))
|
"include in the report"))
|
||||||
menu.add_option(category_name,"maxascend",max_gen)
|
menu.add_option(category_name, "maxascend", max_gen)
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
|
Loading…
x
Reference in New Issue
Block a user