From f7df43643fe880fb803453058e4e5cf3af32c3d8 Mon Sep 17 00:00:00 2001 From: Don Allingham Date: Tue, 1 Feb 2005 03:46:29 +0000 Subject: [PATCH] * various: Change Person.male, Person.female, and Person.unkwown to Person.MALE, Person.FEMALE and Person.UNKNOWN * gramps.spec.in: bring up to date, support Fedora Core and Mandrake * src/plugins/NavWebPage.py: Start of the Narrative Web Page plugin svn: r4008 --- gramps2/ChangeLog | 8 + gramps2/Makefile.am | 2 +- gramps2/configure.in | 1 - gramps2/gramps-mdk.spec.in | 119 -- gramps2/gramps.spec.in | 34 +- gramps2/src/AddSpouse.py | 26 +- gramps2/src/ChooseParents.py | 18 +- gramps2/src/EditPerson.py | 28 +- gramps2/src/FamilyView.py | 16 +- gramps2/src/GenericFilter.py | 4 +- gramps2/src/MergeData.py | 8 +- gramps2/src/ReadGedcom.py | 6 +- gramps2/src/ReadXML.py | 6 +- gramps2/src/RelLib.py | 32 +- gramps2/src/Relationship.py | 8 +- gramps2/src/ReportUtils.py | 124 +- gramps2/src/SelectChild.py | 20 +- gramps2/src/WriteGedcom.py | 4 +- gramps2/src/WriteXML.py | 4 +- gramps2/src/plugins/AncestorReport.py | 2 +- gramps2/src/plugins/Ancestors.py | 18 +- gramps2/src/plugins/Check.py | 10 +- gramps2/src/plugins/DetAncestralReport.py | 12 +- gramps2/src/plugins/DetDescendantReport.py | 10 +- gramps2/src/plugins/FamilyGroup.py | 4 +- gramps2/src/plugins/GraphViz.py | 2 +- gramps2/src/plugins/ImportGeneWeb.py | 12 +- gramps2/src/plugins/IndivComplete.py | 2 +- gramps2/src/plugins/IndivSummary.py | 2 +- gramps2/src/plugins/Merge.py | 6 +- gramps2/src/plugins/NavWebPage.py | 1513 ++++++++++++++++++++ gramps2/src/plugins/RelCalc.py | 4 +- gramps2/src/plugins/StatisticsChart.py | 18 +- gramps2/src/plugins/Summary.py | 2 +- gramps2/src/plugins/Verify.py | 108 +- gramps2/src/plugins/WebPage.py | 4 +- gramps2/src/plugins/WriteGeneWeb.py | 8 +- gramps2/src/plugins/rel_da.py | 8 +- gramps2/src/plugins/rel_de.py | 12 +- gramps2/src/plugins/rel_es.py | 20 +- gramps2/src/plugins/rel_fi.py | 12 +- gramps2/src/plugins/rel_fr.py | 18 +- gramps2/src/plugins/rel_hu.py | 24 +- gramps2/src/plugins/rel_it.py | 10 +- gramps2/src/plugins/rel_no.py | 14 +- gramps2/src/plugins/rel_ru.py | 12 +- gramps2/src/plugins/rel_sv.py | 8 +- 47 files changed, 1861 insertions(+), 482 deletions(-) delete mode 100644 gramps2/gramps-mdk.spec.in create mode 100644 gramps2/src/plugins/NavWebPage.py diff --git a/gramps2/ChangeLog b/gramps2/ChangeLog index 961dad000..9c3f10435 100644 --- a/gramps2/ChangeLog +++ b/gramps2/ChangeLog @@ -1,3 +1,11 @@ +2005-01-31 Don Allingham + * various: Change Person.male, Person.female, and Person.unkwown + to Person.MALE, Person.FEMALE and Person.UNKNOWN + +2005-01-30 Don Allingham + * gramps.spec.in: bring up to date, support Fedora Core and Mandrake + * src/plugins/NavWebPage.py: Start of the Narrative Web Page plugin + 2005-01-30 Alex Roitman * src/WriteGrdb.py: Add to CVS. * src/gramps.glade: Add Save as item, switch former one to Export. diff --git a/gramps2/Makefile.am b/gramps2/Makefile.am index fddcdff5b..b09ddb5f5 100644 --- a/gramps2/Makefile.am +++ b/gramps2/Makefile.am @@ -1,6 +1,6 @@ SUBDIRS = src doc example -EXTRA_DIST = autogen.sh gramps.spec.in gramps.spec gramps-mdk.spec.in COPYING-DOCS FAQ +EXTRA_DIST = autogen.sh gramps.spec.in COPYING-DOCS FAQ bin_SCRIPTS = gramps distuninstallcheck_listfiles = find . -type -f -print | grep -E -v '/(globs|magic|XMLnamespaces)' diff --git a/gramps2/configure.in b/gramps2/configure.in index 1cfdc5d34..87c1dc2d6 100644 --- a/gramps2/configure.in +++ b/gramps2/configure.in @@ -257,6 +257,5 @@ doc/gramps-manual/ru/Makefile example/Makefile example/gramps/Makefile gramps.spec -gramps-mdk.spec gramps.sh]) AC_OUTPUT diff --git a/gramps2/gramps-mdk.spec.in b/gramps2/gramps-mdk.spec.in deleted file mode 100644 index 7adb1766f..000000000 --- a/gramps2/gramps-mdk.spec.in +++ /dev/null @@ -1,119 +0,0 @@ -%define ver @VERSION@ -%define rel @RELEASE@ -%define prefix /usr -%define localstatedir /var/lib -# Ensure that internal RPM macros for configure & makeinstall -# will expand properly -%define _prefix %prefix -%define _localstatedir %localstatedir - -Summary: Genealogical Research and Analysis Management Programming System. -Name: gramps -Version: %ver -Release: %rel -License: GPL -Group: Applications/Genealogy -Source: http://download.sourceforge.net/gramps/gramps-%{ver}.tar.gz -BuildRoot: /var/tmp/%{name}-%{version}-root - -URL: http://gramps.sourceforge.net/ - -Requires: python >= 2.2 -Requires: gnome-python >= 1.99 -Requires: gnome-python-gconf >= 1.99 -Requires: gnome-python-canvas >= 1.99 -Requires: gnome-python-gnomevfs >= 1.99 -Requires: pygtk2.0-libglade >= 1.99 - -BuildRequires: scrollkeeper >= @SCROLLKEEPER_BUILD_REQUIRED@ -BuildRequires: automake >= 1.6 -BuildRequires: autoconf >= 2.52 -BuildRequires: rpm >= 4.1 -BuildRequires: desktop-file-utils >= 0.2.92 - -%description -gramps (Genealogical Research and Analysis Management Programming -System) is a GNOME based genealogy program supporting a Python -based plugin system. - -%prep -%setup - -%build -if [ ! -f configure ]; then - CFLAGS="$MYCFLAGS" ./autogen.sh $MYARCH_FLAGS --prefix=%prefix \ - --localstatedir=%localstatedir --bindir=%{_bindir} \ - --mandir=%{_mandir} --libdir=%{_libdir} --datadir=%{_datadir} \ - --includedir=%{_includedir} --sysconfdir=%{_sysconfdir} -else - CFLAGS="$MYCFLAGS" %configure -fi - -CFLAGS="$RPM_OPT_FLAGS" make - -%install -rm -rf $RPM_BUILD_ROOT - -%makeinstall -mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications -desktop-file-install --vendor gramps --delete-original \ - --dir $RPM_BUILD_ROOT%{_datadir}/applications \ - --add-category Application \ - --add-category Utility \ - src/data/gramps.desktop -%find_lang gramps -rm -rf $RPM_BUILD_ROOT/%{_localstatedir}/scrollkeeper/ -rm -rf $RPM_BUILD_ROOT/%{_datadir}/mime/application -rm -rf $RPM_BUILD_ROOT/%{_datadir}/mime/{globs,magic,XMLnamespaces} - -%clean -rm -rf $RPM_BUILD_ROOT - -%files -f gramps.lang -%defattr(-, root, root) - -%doc AUTHORS COPYING COPYING-DOCS ChangeLog FAQ INSTALL NEWS README TODO -%doc %{_mandir}/man1/* - -%{prefix}/bin/gramps - -%{_datadir}/applications/* - -%{_datadir}/gramps -%{_datadir}/omf/gramps -%{_datadir}/mime-info/* -%{_datadir}/icons/gnome/48x48/mimetypes/* -%{_sysconfdir}/gconf/schemas/gramps.schemas -%{_datadir}/application-registry/gramps.applications -%{_datadir}/mime/packages/gramps.xml - -%post -GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` \ - gconftool-2 --makefile-install-rule \ - %{_sysconfdir}/gconf/schemas/gramps.schemas > /dev/null -if which scrollkeeper-update>/dev/null 2>&1; then scrollkeeper-update; fi - -%postun -if which scrollkeeper-update>/dev/null 2>&1; then scrollkeeper-update; fi - -%changelog -* Tue Dec 2 2003 Tim Waugh -- More docs. -- Change Copyright: to License:. - -* Fri Sep 19 2003 Tim Waugh -- Own %%{_datadir/gramps directory. -- Ship %%{_libdir}/gramps. -* Mon May 20 2003 Donald Peterson -- Override RPMs default of localstatedir to /var/lib.. - This is done in accordance with GNOME and FHS compliance guidelines - (http://fedora.mplug.org/docs/rpm-packaging-guidelines.html) -- Use %find_lang macro to get NLS files -- Set %doc tags on appropriate files -- Remove temporary scrollkeeper-created files from install before packaging - to avoid rpm 4.1 complaints. (These aren't needed in the distribution.) -- Use default scrollkeeper-update scripts -* Mon Mar 24 2003 Alex Roitman -- update scrollkeeper dependencies and add post and postun to enable install on a machine without scrollkeeper -* Fri Jun 14 2002 Donald Peterson -- add scrollkeeper dependencies and some file cleanup diff --git a/gramps2/gramps.spec.in b/gramps2/gramps.spec.in index 9de83cea9..dfde619b2 100644 --- a/gramps2/gramps.spec.in +++ b/gramps2/gramps.spec.in @@ -1,5 +1,9 @@ +%define fdr_release %(fdr_release="`rpm -q --queryformat='%{VERSION}' fedora-release | grep -v install 2>/dev/null`" ; if test $? != 0 ; then fdr_release="0" ; fi ; echo "$fdr_release") +%define mdk_release %(mdk_release="`rpm -q --queryformat='%{VERSION}' mandrake-release | grep -v install 2>/dev/null`" ; if test $? != 0 ; then mdk_release="0" ; fi ; echo "$mdk_release") + %define ver @VERSION@ %define rel @RELEASE@ + %define prefix /usr %define localstatedir /var/lib # Ensure that internal RPM macros for configure & makeinstall @@ -10,7 +14,6 @@ Summary: Genealogical Research and Analysis Management Programming System. Name: gramps Version: %ver -Release: %rel License: GPL Group: Applications/Genealogy Source: http://download.sourceforge.net/gramps/gramps-%{ver}.tar.gz @@ -18,17 +21,30 @@ BuildRoot: /var/tmp/%{name}-%{version}-root URL: http://gramps.sourceforge.net/ -Requires: python >= 2.2 -Requires: gnome-python2 >= 1.99 -Requires: gnome-python2-gconf >= 1.99 -Requires: gnome-python2-canvas >= 1.99 -Requires: gnome-python2-gnomevfs >= 1.99 -Requires: pygtk2 >= 1.99 -Requires: pygtk2-libglade >= 1.99 +%if %{fdr_release} +Release: %{rel}fdr%(dist_release="`echo "%{fdr_release} * 1" | bc 2>/dev/null`" ; echo "$dist_release") +Distribution: Fedora Core %{fdr_release} +Requires: python >= 2.3 +Requires: gnome-python2 >= 2.6.0 +Requires: gnome-python2-gconf >= 2.6.0 +Requires: gnome-python2-canvas >= 2.6.0 +Requires: gnome-python2-gnomevfs >= 2.6.0 +Requires: pygtk2 >= 2.4.0 +Requires: pygtk2-libglade >= 2.4.0 +%else +Release: %{rel}mdk%(mdkver="`awk '{split($4,a,\".\");printf(\"%d%d\",a[1],a[2]);}' /etc/mandrake-release`"; echo "$mdkver") +Distribution: Mandrake Linux %{mdk_release} +Requires: python >= 2.3 +Requires: gnome-python >= 2.6.0 +Requires: gnome-python-gconf >= 2.6.0 +Requires: gnome-python-canvas >= 2.6.0 +Requires: gnome-python-gnomevfs >= 2.6.0 +Requires: pygtk2.0 >= 2.4.0 +Requires: pygtk2.0-libglade >= 2.4.0 +%endif BuildRequires: scrollkeeper >= @SCROLLKEEPER_BUILD_REQUIRED@ BuildRequires: automake >= 1.6 -BuildRequires: autoconf >= 2.52 BuildRequires: rpm >= 4.1 BuildRequires: desktop-file-utils >= 0.2.92 diff --git a/gramps2/src/AddSpouse.py b/gramps2/src/AddSpouse.py index ac358e0fa..bf2510687 100644 --- a/gramps2/src/AddSpouse.py +++ b/gramps2/src/AddSpouse.py @@ -191,14 +191,14 @@ class AddSpouse: relation = self.rel_combo.get_active() if relation == RelLib.Family.CIVIL_UNION: - if self.person.get_gender() == RelLib.Person.male: - gen = RelLib.Person.male + if self.person.get_gender() == RelLib.Person.MALE: + gen = RelLib.Person.MALE else: - gen = RelLib.Person.female - elif self.person.get_gender() == RelLib.Person.male: - gen = RelLib.Person.female + gen = RelLib.Person.FEMALE + elif self.person.get_gender() == RelLib.Person.MALE: + gen = RelLib.Person.FEMALE else: - gen = RelLib.Person.male + gen = RelLib.Person.MALE person = RelLib.Person() person.set_gender(gen) @@ -262,7 +262,7 @@ class AddSpouse: spouse.add_family_handle(self.active_family.get_handle()) self.db.commit_person(spouse,trans) - if self.person.get_gender() == RelLib.Person.male: + if self.person.get_gender() == RelLib.Person.MALE: self.active_family.set_mother_handle(spouse.get_handle()) self.active_family.set_father_handle(self.person.get_handle()) else: @@ -337,15 +337,15 @@ class AddSpouse: def set_gender(self): if self.rel_combo.get_active() == RelLib.Family.CIVIL_UNION: - if self.gender == RelLib.Person.male: - self.sgender = RelLib.Person.female + if self.gender == RelLib.Person.MALE: + self.sgender = RelLib.Person.FEMALE else: - self.sgender = RelLib.Person.male + self.sgender = RelLib.Person.MALE else: - if self.gender == RelLib.Person.male: - self.sgender = RelLib.Person.male + if self.gender == RelLib.Person.MALE: + self.sgender = RelLib.Person.MALE else: - self.sgender = RelLib.Person.female + self.sgender = RelLib.Person.FEMALE def update_data(self,person = None): """ diff --git a/gramps2/src/ChooseParents.py b/gramps2/src/ChooseParents.py index 669ee4828..3db183f57 100644 --- a/gramps2/src/ChooseParents.py +++ b/gramps2/src/ChooseParents.py @@ -241,20 +241,20 @@ class ChooseParents: gnome.help_display('gramps-manual','gramps-edit-quick') def all_males_filter(self,person): - return (person.get_gender() == RelLib.Person.male) + return (person.get_gender() == RelLib.Person.MALE) def all_females_filter(self,person): - return (person.get_gender() == RelLib.Person.female) + return (person.get_gender() == RelLib.Person.FEMALE) def likely_father_filter(self,person): - if person.get_gender() != RelLib.Person.male: + if person.get_gender() != RelLib.Person.MALE: return 0 if self.exclude.has_key(person.get_handle()): return 0 return self.likely_filter(person) def likely_mother_filter(self,person): - if person.get_gender() != RelLib.Person.female: + if person.get_gender() != RelLib.Person.FEMALE: return 0 if self.exclude.has_key(person.get_handle()): return 0 @@ -504,7 +504,7 @@ class ChooseParents: trans = self.db.transaction_begin() if self.father or self.mother: if self.mother and not self.father: - if self.mother.get_gender() == RelLib.Person.male: + if self.mother.get_gender() == RelLib.Person.MALE: self.father = self.mother father_handle = self.father.get_handle() self.mother = None @@ -513,7 +513,7 @@ class ChooseParents: mother_handle = self.mother.get_handle() father_handle = None elif self.father and not self.mother: - if self.father.get_gender() == RelLib.Person.female: + if self.father.get_gender() == RelLib.Person.FEMALE: self.mother = self.father self.father = None mother_handle = self.mother.get_handle() @@ -524,7 +524,7 @@ class ChooseParents: elif self.mother.get_gender() != self.father.get_gender(): if self.type == "Partners": self.type = "Unknown" - if self.father.get_gender() == RelLib.Person.female: + if self.father.get_gender() == RelLib.Person.FEMALE: self.father, self.mother = self.mother, self.father father_handle = self.father.get_handle() mother_handle = self.mother.get_handle() @@ -561,7 +561,7 @@ class ChooseParents: if self.type == RelLib.Family.CIVIL_UNION: self.parent_relation_changed(self.prel) - elif person.get_gender() == RelLib.Person.male: + elif person.get_gender() == RelLib.Person.MALE: self.redrawf() path = self.father_nsort.on_get_path(handle) top_path = self.father_nsort.on_get_path(name) @@ -582,7 +582,7 @@ class ChooseParents: class to create a new person.""" person = RelLib.Person() - person.set_gender(RelLib.Person.male) + person.set_gender(RelLib.Person.MALE) try: import EditPerson diff --git a/gramps2/src/EditPerson.py b/gramps2/src/EditPerson.py index 2e77d3f7d..b75547aec 100644 --- a/gramps2/src/EditPerson.py +++ b/gramps2/src/EditPerson.py @@ -122,7 +122,7 @@ class EditPerson: self.name_display = NameDisplay.displayer self.should_guess_gender = (person.get_gramps_id() == '' and person.get_gender () == - RelLib.Person.unknown) + RelLib.Person.UNKNOWN) for key in db.get_place_handles(): p = db.get_place_from_handle(key).get_display_info() @@ -347,9 +347,9 @@ class EditPerson: AutoComp.fill_combo(self.ntype_field,types) self.write_primary_name() - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: self.is_male.set_active(1) - elif person.get_gender() == RelLib.Person.female: + elif person.get_gender() == RelLib.Person.FEMALE: self.is_female.set_active(1) else: self.is_unknown.set_active(1) @@ -696,9 +696,9 @@ class EditPerson: return gender = self.db.genderStats.guess_gender(unicode(entry.get_text ())) - if gender == RelLib.Person.unknown: + if gender == RelLib.Person.UNKNOWN: self.is_unknown.set_active(True) - elif gender == RelLib.Person.male: + elif gender == RelLib.Person.MALE: self.is_male.set_active(True) else: self.is_female.set_active(True) @@ -1252,11 +1252,11 @@ class EditPerson: changed = True if not self.death.are_equal(self.orig_death): changed = True - if male and self.person.get_gender() != RelLib.Person.male: + if male and self.person.get_gender() != RelLib.Person.MALE: changed = True - elif female and self.person.get_gender() != RelLib.Person.female: + elif female and self.person.get_gender() != RelLib.Person.FEMALE: changed = True - elif unknown and self.person.get_gender() != RelLib.Person.unknown: + elif unknown and self.person.get_gender() != RelLib.Person.UNKNOWN: changed = True if text != self.person.get_note(): changed = True @@ -1644,8 +1644,8 @@ class EditPerson: female = self.is_female.get_active() unknown = self.is_unknown.get_active() error = False - if male and self.person.get_gender() != RelLib.Person.male: - self.person.set_gender(RelLib.Person.male) + if male and self.person.get_gender() != RelLib.Person.MALE: + self.person.set_gender(RelLib.Person.MALE) for temp_family in self.person.get_family_handle_list(): if self.person == temp_family.get_mother_handle(): if temp_family.get_father_handle() != None: @@ -1653,8 +1653,8 @@ class EditPerson: else: temp_family.set_mother_handle(None) temp_family.set_father_handle(self.person) - elif female and self.person.get_gender() != RelLib.Person.female: - self.person.set_gender(RelLib.Person.female) + elif female and self.person.get_gender() != RelLib.Person.FEMALE: + self.person.set_gender(RelLib.Person.FEMALE) for temp_family in self.person.get_family_handle_list(): if self.person == temp_family.get_father_handle(): if temp_family.get_mother_handle() != None: @@ -1662,8 +1662,8 @@ class EditPerson: else: temp_family.set_father_handle(None) temp_family.set_mother_handle(self.person) - elif unknown and self.person.get_gender() != RelLib.Person.unknown: - self.person.set_gender(RelLib.Person.unknown) + elif unknown and self.person.get_gender() != RelLib.Person.UNKNOWN: + self.person.set_gender(RelLib.Person.UNKNOWN) for temp_family in self.person.get_family_handle_list(): if self.person == temp_family.get_father_handle(): if temp_family.get_mother_handle() != None: diff --git a/gramps2/src/FamilyView.py b/gramps2/src/FamilyView.py index b8430c0fd..a8df2a2a2 100644 --- a/gramps2/src/FamilyView.py +++ b/gramps2/src/FamilyView.py @@ -651,10 +651,10 @@ class FamilyView: def add_spouse(self,obj): person = RelLib.Person() - if self.person.get_gender() == RelLib.Person.male: - person.set_gender(RelLib.Person.female) + if self.person.get_gender() == RelLib.Person.MALE: + person.set_gender(RelLib.Person.FEMALE) else: - person.set_gender(RelLib.Person.male) + person.set_gender(RelLib.Person.MALE) try: EditPerson.EditPerson(self.parent, person, self.parent.db, self.new_spouse_after_edit) @@ -688,7 +688,7 @@ class FamilyView: self.parent.db.commit_person(epo.person,trans) self.parent.db.commit_person(self.person,trans) - if self.person.get_gender() == RelLib.Person.male: + if self.person.get_gender() == RelLib.Person.MALE: self.family.set_mother_handle(epo.person.get_handle()) self.family.set_father_handle(self.person.get_handle()) else: @@ -735,7 +735,7 @@ class FamilyView: self.family = RelLib.Family() self.parent.db.add_family(self.family,trans) person.add_family_handle(self.family.get_handle()) - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: self.family.set_father_handle(person) else: self.family.set_mother_handle(person) @@ -754,7 +754,7 @@ class FamilyView: self.family = RelLib.Family() self.parent.db.add_family(self.family,trans) self.person.add_family_handle(self.family.get_handle()) - if self.person.get_gender() == RelLib.Person.male: + if self.person.get_gender() == RelLib.Person.MALE: self.family.set_father_handle(self.person.get_handle()) else: self.family.set_mother_handle(self.person.get_handle()) @@ -1435,7 +1435,7 @@ class FamilyView: sel_data.set(sel_data.target, bits_per, data) def north_american(self,val): - if self.person.get_gender() == RelLib.Person.male: + if self.person.get_gender() == RelLib.Person.MALE: pname = self.person.get_primary_name() return (pname.get_surname_prefix(),pname.get_surname()) elif self.family: @@ -1468,7 +1468,7 @@ class FamilyView: def icelandic(self,val): fname = "" - if self.person.get_gender() == RelLib.Person.male: + if self.person.get_gender() == RelLib.Person.MALE: fname = self.person.get_primary_name().get_first_name() elif self.family: f = self.family.get_father_handle() diff --git a/gramps2/src/GenericFilter.py b/gramps2/src/GenericFilter.py index 1fa304b21..476f13d52 100644 --- a/gramps2/src/GenericFilter.py +++ b/gramps2/src/GenericFilter.py @@ -330,7 +330,7 @@ class IsFemale(Rule): return _('Matches all females') def apply(self,db,p_id): - return db.get_person_from_handle(p_id).get_gender() == RelLib.Person.female + return db.get_person_from_handle(p_id).get_gender() == RelLib.Person.FEMALE #------------------------------------------------------------------------- # @@ -966,7 +966,7 @@ class IsMale(Rule): return _('Matches all males') def apply(self,db,p_id): - return db.get_person_from_handle(p_id).get_gender() == RelLib.Person.male + return db.get_person_from_handle(p_id).get_gender() == RelLib.Person.MALE #------------------------------------------------------------------------- # diff --git a/gramps2/src/MergeData.py b/gramps2/src/MergeData.py index af1b39edf..de264795a 100644 --- a/gramps2/src/MergeData.py +++ b/gramps2/src/MergeData.py @@ -185,7 +185,7 @@ class MergePeople: widget.clear() for fam in person.get_family_handle_list(): - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: spouse = fam.get_mother_handle() else: spouse = fam.get_father_handle() @@ -366,7 +366,7 @@ class MergePeople: Utils.destroy_passed_object(self.top) def find_family(self,family): - if self.p1.get_gender() == RelLib.Person.male: + if self.p1.get_gender() == RelLib.Person.MALE: mother = family.get_mother_handle() father = self.p1.get_handle() else: @@ -471,7 +471,7 @@ class MergePeople: else: if src_family not in self.p1.get_family_handle_list(): self.p1.add_family_handle(src_family) - if self.p1.get_gender() == RelLib.Person.male: + if self.p1.get_gender() == RelLib.Person.MALE: src_family.set_father_handle(self.p1) else: src_family.set_mother_handle(self.p1) @@ -587,7 +587,7 @@ def compare_people(p1,p2): for f1 in p1.get_family_handle_list(): for f2 in p2.get_family_handle_list(): - if p1.get_gender() == RelLib.Person.female: + if p1.get_gender() == RelLib.Person.FEMALE: father1 = f1.get_father_handle() father2 = f2.get_father_handle() if father1 and father2: diff --git a/gramps2/src/ReadGedcom.py b/gramps2/src/ReadGedcom.py index 398428191..0243518d4 100644 --- a/gramps2/src/ReadGedcom.py +++ b/gramps2/src/ReadGedcom.py @@ -931,11 +931,11 @@ class GedcomParser: note = self.parse_note(matches,self.person,1,note) elif matches[1] == "SEX": if matches[2] == '': - self.person.set_gender(RelLib.Person.unknown) + self.person.set_gender(RelLib.Person.UNKNOWN) elif matches[2][0] == "M": - self.person.set_gender(RelLib.Person.male) + self.person.set_gender(RelLib.Person.MALE) else: - self.person.set_gender(RelLib.Person.female) + self.person.set_gender(RelLib.Person.FEMALE) elif matches[1] in [ "BAPL", "ENDL", "SLGC" ]: lds_ord = RelLib.LdsOrd() if matches[1] == "BAPL": diff --git a/gramps2/src/ReadXML.py b/gramps2/src/ReadXML.py index 239d3e757..c72409b64 100644 --- a/gramps2/src/ReadXML.py +++ b/gramps2/src/ReadXML.py @@ -1219,11 +1219,11 @@ class GrampsParser: def stop_gender(self,tag): t = tag if t == "M": - self.person.set_gender (RelLib.Person.male) + self.person.set_gender (RelLib.Person.MALE) elif t == "F": - self.person.set_gender (RelLib.Person.female) + self.person.set_gender (RelLib.Person.FEMALE) else: - self.person.set_gender (RelLib.Person.unknown) + self.person.set_gender (RelLib.Person.UNKNOWN) def stop_stitle(self,tag): self.source.set_title(tag) diff --git a/gramps2/src/RelLib.py b/gramps2/src/RelLib.py index 1498645f5..99045f1bf 100644 --- a/gramps2/src/RelLib.py +++ b/gramps2/src/RelLib.py @@ -340,7 +340,7 @@ class Person(PrimaryObject,SourceNote): self.media_list = [] self.nickname = "" self.alternate_names = [] - self.gender = Person.unknown + self.gender = Person.UNKNOWN self.death_handle = None self.birth_handle = None self.address_list = [] @@ -521,9 +521,9 @@ class Person(PrimaryObject,SourceNote): @param gender: Assigns the Person's gender to one of the following constants:: - Person.male - Person.female - Person.unknown + Person.MALE + Person.FEMALE + Person.UNKNOWN @type gender: int """ # if the db object has been assigned, update the @@ -539,9 +539,9 @@ class Person(PrimaryObject,SourceNote): Returns the gender of the Person @returns: Returns one of the following constants:: - Person.male - Person.female - Person.unknown + Person.MALE + Person.FEMALE + Person.UNKNOWN @rtype: int """ return self.gender @@ -3112,11 +3112,11 @@ class GenderStats: else: increment = -1 - if gender == Person.male: + if gender == Person.MALE: male += increment - elif gender == Person.female: + elif gender == Person.FEMALE: female += increment - elif gender == Person.unknown: + elif gender == Person.UNKNOWN: unknown += increment self.stats[name] = (male, female, unknown) @@ -3128,20 +3128,20 @@ class GenderStats: def guess_gender (self, name): name = self._get_key_from_name (name) if not name or not self.stats.has_key (name): - return Person.unknown + return Person.UNKNOWN (male, female, unknown) = self.stats[name] if unknown == 0: if male and not female: - return Person.male + return Person.MALE if female and not male: - return Person.female + return Person.FEMALE if male > (2 * female): - return Person.male + return Person.MALE if female > (2 * male): - return Person.female + return Person.FEMALE - return Person.unknown + return Person.UNKNOWN diff --git a/gramps2/src/Relationship.py b/gramps2/src/Relationship.py index 0b997396b..0428cb3d2 100644 --- a/gramps2/src/Relationship.py +++ b/gramps2/src/Relationship.py @@ -322,22 +322,22 @@ class RelationshipCalculator: if firstRel == 0: if secondRel == 0: return ('',common) - elif other_person.get_gender() == RelLib.Person.male: + elif other_person.get_gender() == RelLib.Person.MALE: return (self.get_father(secondRel),common) else: return (self.get_mother(secondRel),common) elif secondRel == 0: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_son(firstRel),common) else: return (self.get_daughter(firstRel),common) elif firstRel == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_uncle(secondRel),common) else: return (self.get_aunt(secondRel),common) elif secondRel == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_nephew(firstRel-1),common) else: return (self.get_niece(firstRel-1),common) diff --git a/gramps2/src/ReportUtils.py b/gramps2/src/ReportUtils.py index 03c0e89f4..4f1d2d22d 100644 --- a/gramps2/src/ReportUtils.py +++ b/gramps2/src/ReportUtils.py @@ -352,6 +352,17 @@ def roman(num): num -= vals[i] * amount return retval +#------------------------------------------------------------------------- +# +# +# +#------------------------------------------------------------------------- +def place_name(db,place_handle): + if place_handle: + place = db.get_place_from_handle(place_handle).get_title() + else: + place = "" + #------------------------------------------------------------------------- # # Functions commonly used in reports @@ -448,14 +459,14 @@ def born_died_str(database,person,endnotes=None,name_object=None,person_name=Non if person_name == None: person_name = _nd.display_name(name_object) elif person_name == 0: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: person_name = _('He') else: person_name = _('She') bdate,bplace,ddate,dplace = get_birth_death_strings(database,person) - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: if bdate: if bplace: if ddate: @@ -754,7 +765,7 @@ def married_str(database,person,spouse,event,endnotes=None): text = "" if date and place: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: text = _('He married %(spouse)s %(date)s in %(place)s%(endnotes)s.') % { 'spouse' : spouse_name, 'endnotes' : endnotes(event), @@ -767,7 +778,7 @@ def married_str(database,person,spouse,event,endnotes=None): 'endnotes' : endnotes(event), 'place' : place} elif date: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: text = _('He married %(spouse)s %(date)s%(endnotes)s.') % { 'spouse' : spouse_name, 'endnotes' : endnotes(event), @@ -778,7 +789,7 @@ def married_str(database,person,spouse,event,endnotes=None): 'endnotes' : endnotes(event), 'place' : place,} elif place: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: text = _('He married %(spouse)s in %(place)s%(endnotes)s.') % { 'spouse' : spouse_name, 'endnotes' : endnotes(event), @@ -789,7 +800,7 @@ def married_str(database,person,spouse,event,endnotes=None): 'endnotes' : endnotes(event), 'place' : place} else: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: text = _('He married %(spouse)s%(endnotes)s.') % { 'spouse' : spouse_name, 'endnotes' : endnotes(event) } @@ -809,8 +820,8 @@ def child_str(person,person_name=0,father_name="",mother_name="",dead=0): "He/She is/was the son/daughter of father_name and mother_name" Missing information will be omitted without loss of readability. - @param person_gender: Person.male, Person.female, or Person.unknown - @type person: Person.male, Person.female, or Person.unknown + @param person_gender: Person.MALE, Person.FEMALE, or Person.UNKNOWN + @type person: Person.MALE, Person.FEMALE, or Person.UNKNOWN~ @param father_name: String to use for father's name @type father_name: unicode @param mother_name: String to use for mother's name @@ -824,14 +835,14 @@ def child_str(person,person_name=0,father_name="",mother_name="",dead=0): if person_name == None: person_name = _nd.display_name(person.get_primary_name()) elif person_name == 0: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: person_name = _('He') else: person_name = _('She') text = "" - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: if mother_name and father_name: if dead: text = _("He was the son of %(father)s and %(mother)s.") % { @@ -879,7 +890,14 @@ def child_str(person,person_name=0,father_name="",mother_name="",dead=0): else: text = _("She is the daughter of %(father)s.") % { 'father' : father_name, } + return text +def find_spouse(person,family): + if person.get_handle() == family.get_father_handle(): + spouse_id = family.get_mother_handle() + else: + spouse_id = family.get_mother_handle() + return spouse_id if text: text = text + " " return text @@ -900,7 +918,7 @@ def born_str(database,person,person_name=None,empty_date="",empty_place=""): if person_name == None: person_name = _nd.display_name(person.get_primary_name()) elif person_name == 0: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: person_name = _('He') else: person_name = _('She') @@ -910,7 +928,7 @@ def born_str(database,person,person_name=None,empty_date="",empty_place=""): bdate,bplace,bdate_full,ddate,dplace,ddate_full = \ get_birth_death_strings(database,person,empty_date,empty_place) - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: if bdate and bdate_full: if bplace: #male, date, place text = _("%(male_name)s " @@ -998,7 +1016,7 @@ def died_str(database,person,person_name=None,empty_date="",empty_place="", if person_name == None: person_name = _nd.display_name(person.get_primary_name()) elif person_name == 0: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: person_name = _('He') else: person_name = _('She') @@ -1008,7 +1026,7 @@ def died_str(database,person,person_name=None,empty_date="",empty_place="", bdate,bplace,bdate_full,ddate,dplace,ddate_full = \ get_birth_death_strings(database,person,empty_date,empty_place) - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: if ddate and ddate_full: if dplace: if not age_units: #male, date, place, no age @@ -1289,7 +1307,7 @@ def buried_str(database,person,person_name=None,empty_date="",empty_place=""): if person_name == None: person_name = _nd.display_name(person.get_primary_name()) elif person_name == 0: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: person_name = _('He') else: person_name = _('She') @@ -1317,7 +1335,7 @@ def buried_str(database,person,person_name=None,empty_date="",empty_place=""): else: return text - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: if bdate and bdate_full: if bplace: #male, date, place text = _("%(male_name)s " @@ -1374,69 +1392,13 @@ def buried_str(database,person,person_name=None,empty_date="",empty_place=""): text = text + " " return text -#------------------------------------------------------------------------- -# -# -# -#------------------------------------------------------------------------- -if __name__ == "__main__": - import BaseDoc - import OpenOfficeDoc +_rtyle = { + RelLib.Family.MARRIED : _("Married"), + RelLib.Family.UNMARRIED : _("Unmarried"), + RelLib.Family.CIVIL_UNION : _("Civil Union"), + RelLib.Family.UNKNOWN : _("Unknown"), + RelLib.Family.OTHER : _("Other"), + } - sheet = BaseDoc.StyleSheet() - paper = BaseDoc.PaperStyle("Letter",27.94,21.59) - doc = OpenOfficeDoc.OpenOfficeDoc(sheet,paper,None) - - font = BaseDoc.FontStyle() - font.set_size(10) - - para = BaseDoc.ParagraphStyle() - para.set_font(font) - sheet.add_style('Normal', para) - - g = BaseDoc.GraphicsStyle() - g.set_fill_color((0,255,0)) - g.set_paragraph_style('Normal') - g.set_line_width(1) - doc.add_draw_style("green",g) - - g = BaseDoc.GraphicsStyle() - g.set_fill_color((255,0,0)) - g.set_paragraph_style('Normal') - g.set_line_width(1) - doc.add_draw_style("red",g) - - g = BaseDoc.GraphicsStyle() - g.set_fill_color((0,0,255)) - g.set_paragraph_style('Normal') - g.set_line_width(1) - doc.add_draw_style("blue",g) - - g = BaseDoc.GraphicsStyle() - g.set_fill_color((255,255,0)) - g.set_paragraph_style('Normal') - g.set_line_width(1) - doc.add_draw_style("yellow",g) - - g = BaseDoc.GraphicsStyle() - g.set_fill_color((0,0,0)) - g.set_paragraph_style('Normal') - g.set_line_width(1) - doc.add_draw_style("black",g) - - - doc.open("foo.sxw") - doc.init() - chart_data = [ - ('red',250,'red label'), - ('green',35,'green label'), - ('blue', 158, 'blue label'), - ('yellow', 100, 'yellow label'), - ] - - draw_pie_chart(doc, 4, 4, 3, chart_data) - draw_legend(doc, 7.5, 2, chart_data) - - draw_vertical_bar_graph(doc, "black", 2, 10, 8, 12, chart_data) - - doc.close() +def relationship_name(type): + return _rtype.get(type) diff --git a/gramps2/src/SelectChild.py b/gramps2/src/SelectChild.py index 21735dab6..7ef799a27 100644 --- a/gramps2/src/SelectChild.py +++ b/gramps2/src/SelectChild.py @@ -108,7 +108,7 @@ class SelectChild: fname = NameDisplay.displayer.display(self.person) label = _("Relationship to %s") % fname - if self.person.get_gender() == RelLib.Person.male: + if self.person.get_gender() == RelLib.Person.MALE: self.xml.get_widget("flabel").set_text(label) self.xml.get_widget("mrel_combo").set_sensitive(0) else: @@ -246,9 +246,9 @@ class SelectChild: for idval in person_list: person = self.db.get_person_from_handle(idval) name = NameDisplay.displayer.display(person) - if person.gender == RelLib.Person.male: + if person.gender == RelLib.Person.MALE: gender = _("male") - elif person.gender == RelLib.Person.female: + elif person.gender == RelLib.Person.FEMALE: gender = _("female") else: gender = _("unknown") @@ -304,7 +304,7 @@ class SelectChild: self.family = RelLib.Family() self.db.add_family(self.family,trans) self.person.add_family_handle(self.family.get_handle()) - if self.person.get_gender() == RelLib.Person.male: + if self.person.get_gender() == RelLib.Person.MALE: self.family.set_father_handle(self.person) else: self.family.set_mother_handle(self.person) @@ -319,13 +319,13 @@ class SelectChild: mrel = const.child_relations.find_value(self.mrel.get_text()) mother = self.db.get_person_from_handle(self.family.get_mother_handle()) - if mother and mother.get_gender() != RelLib.Person.female: + if mother and mother.get_gender() != RelLib.Person.FEMALE: if mrel == "Birth": mrel = "Unknown" frel = const.child_relations.find_value(self.frel.get_text()) father = self.db.get_person_from_handle(self.family.get_father_handle()) - if father and father.get_gender() !=RelLib.Person.male: + if father and father.get_gender() !=RelLib.Person.MALE: if frel == "Birth": frel = "Unknown" @@ -343,7 +343,7 @@ class SelectChild: self.redraw_child_list(not obj.get_active()) def north_american(self,val): - if self.person.get_gender() == RelLib.Person.male: + if self.person.get_gender() == RelLib.Person.MALE: return self.person.get_primary_name().get_surname() elif self.family: f = self.family.get_father_handle() @@ -374,7 +374,7 @@ class SelectChild: def icelandic(self,val): fname = "" - if self.person.get_gender() == RelLib.Person.male: + if self.person.get_gender() == RelLib.Person.MALE: fname = self.person.get_primary_name().get_first_name() elif self.family: f = self.family.get_father_handle() @@ -455,13 +455,13 @@ class EditRel: def on_ok_clicked(self,obj): mrel = const.child_relations.find_value(self.mentry.get_text()) mother = self.db.get_person_from_handle(self.family.get_mother_handle()) - if mother and mother.get_gender() != RelLib.Person.female: + if mother and mother.get_gender() != RelLib.Person.FEMALE: if mrel == "Birth": mrel = "Unknown" frel = const.child_relations.find_value(self.fentry.get_text()) father = self.db.get_person_from_handle(self.family.get_father_handle()) - if father and father.get_gender() !=RelLib.Person.male: + if father and father.get_gender() !=RelLib.Person.MALE: if frel == "Birth": frel = "Unknown" diff --git a/gramps2/src/WriteGedcom.py b/gramps2/src/WriteGedcom.py index cb44191a2..452f35c5d 100644 --- a/gramps2/src/WriteGedcom.py +++ b/gramps2/src/WriteGedcom.py @@ -785,9 +785,9 @@ class GedcomWriter: for name in person.get_alternate_names(): self.write_person_name(name,"") - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: self.writeln("1 SEX M") - elif person.get_gender() == RelLib.Person.female: + elif person.get_gender() == RelLib.Person.FEMALE: self.writeln("1 SEX F") if not restricted: diff --git a/gramps2/src/WriteXML.py b/gramps2/src/WriteXML.py index 4effa0fad..a5b06c45f 100644 --- a/gramps2/src/WriteXML.py +++ b/gramps2/src/WriteXML.py @@ -254,9 +254,9 @@ class XmlWriter: count += 1 self.write_id("person",person,2) - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: self.write_line("gender","M",3) - elif person.get_gender() == RelLib.Person.female: + elif person.get_gender() == RelLib.Person.FEMALE: self.write_line("gender","F",3) else: self.write_line("gender","U",3) diff --git a/gramps2/src/plugins/AncestorReport.py b/gramps2/src/plugins/AncestorReport.py index 64874c67a..168d5d933 100644 --- a/gramps2/src/plugins/AncestorReport.py +++ b/gramps2/src/plugins/AncestorReport.py @@ -176,7 +176,7 @@ class AncestorReport(Report.Report): if place[-1:] == '.': place = place[:-1] if date_text != "" or place_handle: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: male = 1 else: male = 0 diff --git a/gramps2/src/plugins/Ancestors.py b/gramps2/src/plugins/Ancestors.py index 18ce8c782..5ec8ad4a5 100644 --- a/gramps2/src/plugins/Ancestors.py +++ b/gramps2/src/plugins/Ancestors.py @@ -577,21 +577,21 @@ class ComprehensiveAncestorsReport (Report.Report): if not mother_handle and not father_handle: pass elif not father_handle: - if gender == RelLib.Person.female: + if gender == RelLib.Person.FEMALE: ret += _("She is the daughter of %(mother)s.") % \ {'mother': mothername} else: ret += _("He is the son of %(mother)s.") % \ {'mother': mothername} elif not mother_handle: - if gender == RelLib.Person.female: + if gender == RelLib.Person.FEMALE: ret += _("She is the daughter of %(father)s.") % \ {'father': fathername} else: ret += _("He is the son of %(father)s.") % \ {'father': fathername} else: - if gender == RelLib.Person.female: + if gender == RelLib.Person.FEMALE: ret += \ _("She is the daughter of %(father)s and %(mother)s.")%\ {'father': fathername, @@ -618,12 +618,12 @@ class ComprehensiveAncestorsReport (Report.Report): return t gender = person.get_gender () - if gender == RelLib.Person.female: + if gender == RelLib.Person.FEMALE: if name.get_type () == 'Married Name': return _('Mrs.') return _('Miss') - elif gender == RelLib.Person.male: + elif gender == RelLib.Person.MALE: return _('Mr.') else: return _('(gender unknown)') @@ -756,7 +756,7 @@ class ComprehensiveAncestorsReport (Report.Report): break if not first_rel: - if gender == RelLib.Person.female: + if gender == RelLib.Person.FEMALE: ret += _(' She later married %(name)s') % \ {'name': self.person_name (spouse_handle)} else: @@ -766,7 +766,7 @@ class ComprehensiveAncestorsReport (Report.Report): elif (listing_children or spouse == mother or family != from_family): - if gender == RelLib.Person.female: + if gender == RelLib.Person.FEMALE: ret += _(' She married %(name)s') % \ {'name': self.person_name (spouse_handle)} else: @@ -777,14 +777,14 @@ class ComprehensiveAncestorsReport (Report.Report): ret += self.event_info (marriage) else: # Not a marriage if not first_rel: - if gender == RelLib.Person.female: + if gender == RelLib.Person.FEMALE: ret += _(' She later had a relationship with %(name)s') % \ {'name': self.person_name (spouse_handle)} else: ret += _(' He later had a relationship with %(name)s') % \ {'name': self.person_name (spouse_handle)} else: - if gender == RelLib.Person.female: + if gender == RelLib.Person.FEMALE: ret += _(' She had a relationship with %(name)s') % \ {'name': self.person_name (spouse_handle)} else: diff --git a/gramps2/src/plugins/Check.py b/gramps2/src/plugins/Check.py index 7943c452f..74086e61f 100644 --- a/gramps2/src/plugins/Check.py +++ b/gramps2/src/plugins/Check.py @@ -260,12 +260,12 @@ class CheckIntegrity: if not father_handle and not mother_handle: continue elif not father_handle: - if mother.get_gender() == RelLib.Person.male: + if mother.get_gender() == RelLib.Person.MALE: family.set_father_handle(mother_handle) family.set_mother_handle(None) self.db.commit_family(family,self.trans) elif not mother_handle: - if father.get_gender() == RelLib.Person.female: + if father.get_gender() == RelLib.Person.FEMALE: family.set_mother_handle(father_handle) family.set_father_handle(None) self.db.commit_family(family,self.trans) @@ -273,11 +273,11 @@ class CheckIntegrity: fgender = father.get_gender() mgender = mother.get_gender() if type != RelLib.Family.CIVIL_UNION: - if fgender == mgender and fgender != RelLib.Person.unknown: + if fgender == mgender and fgender != RelLib.Person.UNKNOWN: family.set_relationship(RelLib.Family.CIVIL_UNION) self.fam_rel.append(family_handle) self.db.commit_family(family,self.trans) - elif fgender == RelLib.Person.female or mgender == RelLib.Person.male: + elif fgender == RelLib.Person.FEMALE or mgender == RelLib.Person.MALE: family.set_father_handle(mother_handle) family.set_mother_handle(father_handle) self.fam_rel.append(family_handle) @@ -285,7 +285,7 @@ class CheckIntegrity: elif fgender != mgender: family.set_relationship(RelLib.Family.UNKNOWN) self.fam_rel.append(family_handle) - if fgender == RelLib.Person.female or mgender == RelLib.Person.male: + if fgender == RelLib.Person.FEMALE or mgender == RelLib.Person.MALE: family.set_father_handle(mother_handle) family.set_mother_handle(father_handle) self.db.commit_family(family,self.trans) diff --git a/gramps2/src/plugins/DetAncestralReport.py b/gramps2/src/plugins/DetAncestralReport.py index c7bf987e4..4ec5e746e 100644 --- a/gramps2/src/plugins/DetAncestralReport.py +++ b/gramps2/src/plugins/DetAncestralReport.py @@ -329,7 +329,7 @@ class DetAncestorReport(Report.Report): if self.firstName: firstName = person.get_primary_name().get_first_name() - elif person.get_gender() == RelLib.Person.male: + elif person.get_gender() == RelLib.Person.MALE: firstName = _("He") else: firstName = _("She") @@ -542,7 +542,7 @@ class DetAncestorReport(Report.Report): mother= "" if father or mother: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: if father: if mother: self.doc.write_text(_(" %s is the son of %s and %s.") % \ @@ -585,7 +585,7 @@ class DetAncestorReport(Report.Report): fam_num= fam_num + 1 spouse= "" t= "" - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: if fam.get_mother_handle(): mother = self.database.get_person_from_handle(fam.get_mother_handle()) spouse = mother.get_primary_name().get_regular_name() @@ -665,7 +665,7 @@ class DetAncestorReport(Report.Report): for fam_id in famList: fam = self.database.get_family_from_handle(fam_id) person= "" - if mate.get_gender() == RelLib.Person.male: + if mate.get_gender() == RelLib.Person.MALE: if fam.get_mother_handle(): ind_id= fam.get_mother_handle() ind = self.database.get_person_from_handle(ind_id) @@ -700,7 +700,7 @@ class DetAncestorReport(Report.Report): self.doc.end_paragraph() if self.listChildren \ - and mate.get_gender() == RelLib.Person.male: + and mate.get_gender() == RelLib.Person.MALE: self.write_children(fam) #-------------------------------------------------------------------- @@ -755,7 +755,7 @@ class DetAncestorReport(Report.Report): self.genIDs[person_handle]= key dupPerson= self.write_person(key) if dupPerson == 0: # Is this a duplicate ind record - if person.get_gender() == RelLib.Person.female and \ + if person.get_gender() == RelLib.Person.FEMALE and \ self.listChildren and \ len(person.get_family_handle_list()) > 0: family_handle = person.get_family_handle_list()[0] diff --git a/gramps2/src/plugins/DetDescendantReport.py b/gramps2/src/plugins/DetDescendantReport.py index 4db2672ca..5c618a9ae 100644 --- a/gramps2/src/plugins/DetDescendantReport.py +++ b/gramps2/src/plugins/DetDescendantReport.py @@ -332,7 +332,7 @@ class DetDescendantReport(Report.Report): if self.firstName: firstName = person.get_primary_name().get_first_name() - elif person.get_gender() == RelLib.Person.male: + elif person.get_gender() == RelLib.Person.MALE: firstName = _("He") else: firstName = _("She") @@ -549,7 +549,7 @@ class DetDescendantReport(Report.Report): mother = "" if father or mother: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: if father: if mother: self.doc.write_text(_(" %s is the son of %s and %s.") % \ @@ -587,7 +587,7 @@ class DetDescendantReport(Report.Report): fam = self.database.get_family_from_handle(fam_id) fam_num= fam_num + 1 spouse = "" - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: mother_handle = fam.get_mother_handle() if mother_handle: spouse = self.database.get_person_from_handle(mother_handle).get_primary_name().get_regular_name() @@ -667,7 +667,7 @@ class DetDescendantReport(Report.Report): for fam_id in person.get_family_handle_list(): fam = self.database.get_family_from_handle(fam_id) mate = "" - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: heshe = _("She") mother_handle = fam.get_mother_handle() if mother_handle: @@ -729,7 +729,7 @@ class DetDescendantReport(Report.Report): if len(famList): for fam_id in famList: fam = self.database.get_family_from_handle(fam_id) - if self.start_person.get_gender() == RelLib.Person.male: + if self.start_person.get_gender() == RelLib.Person.MALE: mother_handle = fam.get_mother_handle() if mother_handle: spouseName = self.database.get_person_from_handle(mother_handle).get_primary_name().get_first_name() diff --git a/gramps2/src/plugins/FamilyGroup.py b/gramps2/src/plugins/FamilyGroup.py index db9bc2ba5..6dbfe3e43 100644 --- a/gramps2/src/plugins/FamilyGroup.py +++ b/gramps2/src/plugins/FamilyGroup.py @@ -159,7 +159,7 @@ class FamilyGroup(Report.Report): person = self.database.get_person_from_handle(person_handle) - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: the_id = _("Husband") else: the_id = _("Wife") @@ -307,7 +307,7 @@ class FamilyGroup(Report.Report): self.doc.start_row() self.doc.start_cell('FGR-TextChild1') self.doc.start_paragraph('FGR-ChildText') - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: self.doc.write_text("%dM" % index) else: self.doc.write_text("%dF" % index) diff --git a/gramps2/src/plugins/GraphViz.py b/gramps2/src/plugins/GraphViz.py index 07727354a..24eaa5229 100644 --- a/gramps2/src/plugins/GraphViz.py +++ b/gramps2/src/plugins/GraphViz.py @@ -307,7 +307,7 @@ class GraphViz: else: style = 'color' gender = person.get_gender() - if gender == person.male: + if gender == person.MALE: self.f.write('%s=%s, ' % (style, self.colors['male'])) elif gender == person.female: self.f.write('%s=%s, ' % (style, self.colors['female'])) diff --git a/gramps2/src/plugins/ImportGeneWeb.py b/gramps2/src/plugins/ImportGeneWeb.py index e4497c01b..410adde6d 100644 --- a/gramps2/src/plugins/ImportGeneWeb.py +++ b/gramps2/src/plugins/ImportGeneWeb.py @@ -174,7 +174,7 @@ class GeneWebParser: idx = 1; print "\nHusband:" - (idx,husband) = self.parse_person(fields,idx,RelLib.Person.male,None) + (idx,husband) = self.parse_person(fields,idx,RelLib.Person.MALE,None) if husband: self.current_husband_handle = husband.get_handle() self.current_family.set_father_handle(husband.get_handle()) @@ -184,7 +184,7 @@ class GeneWebParser: print "Marriage:" idx = self.parse_marriage(fields,idx) print "Wife:" - (idx,wife) = self.parse_person(fields,idx,RelLib.Person.female,None) + (idx,wife) = self.parse_person(fields,idx,RelLib.Person.FEMALE,None) if wife: self.current_family.set_mother_handle(wife.get_handle()) self.db.commit_family(self.current_family,self.trans) @@ -204,9 +204,9 @@ class GeneWebParser: def read_witness_line(self,line,fields): print "Witness:" if fields[1] == "m:": - self.parse_person(fields,2,RelLib.Person.male,None) + self.parse_person(fields,2,RelLib.Person.MALE,None) elif fields[1] == "f:": - self.parse_person(fields,2,RelLib.Person.female,None) + self.parse_person(fields,2,RelLib.Person.FEMALE,None) else: self.parse_person(fields,1,None,None) return None @@ -233,9 +233,9 @@ class GeneWebParser: print "Child:" child = None if fields[1] == "h": - (idx,child) = self.parse_person(fields,2,RelLib.Person.male,father_surname) + (idx,child) = self.parse_person(fields,2,RelLib.Person.MALE,father_surname) elif fields[1] == "f": - (idx,child) = self.parse_person(fields,2,RelLib.Person.female,father_surname) + (idx,child) = self.parse_person(fields,2,RelLib.Person.FEMALE,father_surname) else: (idx,child) = self.parse_person(fields,1,None,father_surname) diff --git a/gramps2/src/plugins/IndivComplete.py b/gramps2/src/plugins/IndivComplete.py index 6279bfa4a..c002cc1a6 100644 --- a/gramps2/src/plugins/IndivComplete.py +++ b/gramps2/src/plugins/IndivComplete.py @@ -415,7 +415,7 @@ class IndivCompleteReport(Report.Report): self.doc.start_row() self.normal_cell("%s:" % _("Gender")) - if self.start_person.get_gender() == RelLib.Person.male: + if self.start_person.get_gender() == RelLib.Person.MALE: self.normal_cell(_("Male")) else: self.normal_cell(_("Female")) diff --git a/gramps2/src/plugins/IndivSummary.py b/gramps2/src/plugins/IndivSummary.py index b4b7039b6..42726a37e 100644 --- a/gramps2/src/plugins/IndivSummary.py +++ b/gramps2/src/plugins/IndivSummary.py @@ -242,7 +242,7 @@ class IndivSummary(Report.Report): self.doc.start_cell("IVS-NormalCell") self.doc.start_paragraph("IVS-Normal") - if self.start_person.get_gender() == RelLib.Person.male: + if self.start_person.get_gender() == RelLib.Person.MALE: self.doc.write_text(_("Male")) else: self.doc.write_text(_("Female")) diff --git a/gramps2/src/plugins/Merge.py b/gramps2/src/plugins/Merge.py index d5bf86de1..e70920e70 100644 --- a/gramps2/src/plugins/Merge.py +++ b/gramps2/src/plugins/Merge.py @@ -186,7 +186,7 @@ class Merge: for p1_id in self.person_list: p1 = self.db.get_person_from_handle(p1_id) key = self.gen_key(p1.get_primary_name().get_surname()) - if p1.get_gender() == RelLib.Person.male: + if p1.get_gender() == RelLib.Person.MALE: if males.has_key(key): males[key].append(p1_id) else: @@ -207,7 +207,7 @@ class Merge: num = num + 1 key = self.gen_key(p1.get_primary_name().get_surname()) - if p1.get_gender() == RelLib.Person.male: + if p1.get_gender() == RelLib.Person.MALE: remaining = males[key] else: remaining = females[key] @@ -577,7 +577,7 @@ class Merge: f1 = self.db.get_family_from_handle(f1_id) for f2_id in p2.get_family_handle_list(): f2 = self.db.get_family_from_handle(f2_id) - if p1.get_gender() == RelLib.Person.female: + if p1.get_gender() == RelLib.Person.FEMALE: father1_id = f1.get_father_handle() father2_id = f2.get_father_handle() if father1_id and father2_id: diff --git a/gramps2/src/plugins/NavWebPage.py b/gramps2/src/plugins/NavWebPage.py new file mode 100644 index 000000000..92603ca65 --- /dev/null +++ b/gramps2/src/plugins/NavWebPage.py @@ -0,0 +1,1513 @@ +# +# Gramps - a GTK+/GNOME based genealogy program +# +# Copyright (C) 2000-2004 Donald N. Allingham +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Pubilc License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +# $Id$ + +"Web Site/Generate Web Site" + +#------------------------------------------------------------------------ +# +# python modules +# +#------------------------------------------------------------------------ +import os +import shutil +from gettext import gettext as _ + +#------------------------------------------------------------------------ +# +# GNOME/gtk +# +#------------------------------------------------------------------------ +import gtk +import gnome.ui + +#------------------------------------------------------------------------ +# +# GRAMPS module +# +#------------------------------------------------------------------------ +import os +import RelLib +import const +import GrampsKeys +import GenericFilter +import DateHandler +import Sort +import Report +import Errors +import Utils +from QuestionDialog import ErrorDialog +import ReportOptions +import BaseDoc +import NameDisplay +import ReportUtils + +#------------------------------------------------------------------------ +# +# +# +#------------------------------------------------------------------------ +class IndividualPage: + + gender_map = { + RelLib.Person.MALE : const.male, + RelLib.Person.FEMALE : const.female, + RelLib.Person.UNKNOWN : const.unknown, + } + + def __init__(self, db, person, dirpath, ind_list): + self.person = person + self.db = db + self.ind_list = ind_list + + gramps_id = self.person.get_gramps_id() + author = db.get_researcher().get_name() + sort_name = NameDisplay.displayer.sorted(self.person) + + self.f = open(os.path.join(dirpath,"%s.html" % gramps_id), "w") + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('My Family Tree\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + + self.f.write('
\n') + self.f.write('') + self.f.write('') + self.f.write('\n') + self.f.write('
\n') + + self.f.write('
\n') + self.f.write('

%s

\n' % sort_name) + self.f.write('\n') + + # Gender + self.f.write('\n') + self.f.write('\n' % self.gender_map[person.get_gender()]) + self.f.write('\n') + + # Birth + handle = self.person.get_birth_handle() + if handle: + event = self.db.get_event_from_handle(handle) + self.f.write('\n' % _('Birth')) + self.f.write('\n' % self.format_event(event)) + self.f.write('\n') + + # Death + handle = self.person.get_death_handle() + if handle: + event = self.db.get_event_from_handle(handle) + self.f.write('\n' % _('Death')) + self.f.write('\n' % self.format_event(event)) + self.f.write('\n') + + self.f.write('\n') + self.f.write('
Gender%s
%s%s
%s%s
\n') + self.f.write('
\n') + self.f.write('\n') + + # Events + self.f.write('

Events

\n') + self.f.write('
\n') + self.f.write('\n') + + for event_id in self.person.get_event_list(): + event = db.get_event_from_handle(event_id) + + self.f.write('\n' % event.get_name()) + self.f.write('\n') + self.f.write('\n') + + self.f.write('
%s\n') + self.f.write(self.format_event(event)) + self.f.write('
\n') + self.f.write('\n') + + # Relationships + + self.display_relationships(self.person) + + self.f.write('

Narrative

\n') + self.f.write('
\n') + + noteobj = self.person.get_note_object() + if noteobj: + format = noteobj.get_format() + text = noteobj.get() + + if format: + text = "
" + "
".join(text.split("\n")) + else: + text = "

".join(text.split("\n")) + self.f.write('

%s

\n' % text) + + self.f.write('

Sources

\n') + self.f.write('
\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('
1. Author, Title, Publisher, Date.
2. Author, Title, Publisher, Date.
3. Author, Title, Publisher, Date.
4. Author, Title, Publisher, Date.
5. Author, Title, Publisher, Date.
\n') + self.f.write('\n') + self.f.write('

Pedigree

\n') + self.f.write('
\n') + self.f.write('\n') + self.f.write('
\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('
\n') + self.f.write('
\n') + self.f.write('| Father
\n') + self.f.write('| Mother
\n') + self.f.write('
\n') + self.f.write('| Sybling, Older
\n') + self.f.write('| Individual
\n') + self.f.write('• Spouse 1
\n') + self.f.write('
\n') + self.f.write('| Child
\n') + self.f.write('| Child
\n') + self.f.write('
\n') + self.f.write('• Spouse 2
\n') + self.f.write('
\n') + self.f.write('| Child
\n') + self.f.write('| Child
\n') + self.f.write('
\n') + self.f.write('| Sybling, Younger
\n') + self.f.write('| Sybling, Younger
\n') + self.f.write('
\n') + self.f.write('
\n') + self.f.write('
\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('
\n') + self.f.write('
\n') + self.f.write('
\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.close() + + def display_father(self,handle): + use_link = handle in self.ind_list + person = self.db.get_person_from_handle(handle) + self.f.write('%s\n' % _("Father")) + self.f.write('') + if use_link: + self.f.write('' % person.get_gramps_id()) + self.f.write(NameDisplay.displayer.display(person)) + if use_link: + self.f.write('\n') + self.f.write('\n') + + def display_mother(self,handle): + use_link = handle in self.ind_list + person = self.db.get_person_from_handle(handle) + self.f.write('%s\n' % _("Mother")) + self.f.write('') + if use_link: + self.f.write('' % person.get_gramps_id()) + self.f.write(NameDisplay.displayer.display(person)) + if use_link: + self.f.write('\n') + self.f.write('\n') + + def display_relationships(self,person): + parent_list = person.get_parent_family_handle_list() + family_list = person.get_family_handle_list() + + if not parent_list and not family_list: + return + + self.f.write('

%s

\n' % _("Relationships")) + self.f.write('
\n') + self.f.write('\n') + + if parent_list: + for (family_handle,mrel,frel) in parent_list: + family = self.db.get_family_from_handle(family_handle) + + self.f.write('\n') + self.f.write('\n' % _("Parents")) + + father_handle = family.get_father_handle() + if father_handle: + self.display_father(father_handle) + self.f.write('\n') + mother_handle = family.get_mother_handle() + if mother_handle: + self.display_mother(mother_handle) + self.f.write('\n') + self.f.write('\n') + + if family_list: + self.f.write('\n' % _("Spouses")) + for family_handle in family_list: + family = self.db.get_family_from_handle(family_handle) + self.display_spouse(family) + childlist = family.get_child_handle_list() + if childlist: + self.f.write('\n') + self.f.write('\n' % _("Children")) + self.f.write('\n') + self.f.write('\n') + self.f.write('\n') + self.f.write('
 
%s
 
 
%s
 %s\n') + for child_handle in childlist: + use_link = child_handle in self.ind_list + child = self.db.get_person_from_handle(child_handle) + if use_link: + self.f.write('' % person.get_gramps_id()) + self.f.write(NameDisplay.displayer.display(child)) + if use_link: + self.f.write('\n') + self.f.write("
\n") + self.f.write('
\n') + self.f.write('\n') + + def display_spouse(self,family): + gender = self.person.get_gender() + reltype = family.get_relationship() + + if reltype == RelLib.Family.MARRIED: + if gender == RelLib.Person.FEMALE: + relstr = _("Husband") + elif gender == RelLib.Person.MALE: + relstr = _("Wife") + else: + relstr = _("Partner") + else: + relstr = _("Partner") + + spouse_id = ReportUtils.find_spouse(self.person,family) + if spouse_id: + spouse = self.db.get_person_from_handle(spouse_id) + name = NameDisplay.displayer.display(spouse) + else: + name = _("unknown") + self.f.write('%s\n' % relstr) + self.f.write('') + use_link = spouse_id in self.ind_list + if use_link: + self.f.write('' % spouse.get_gramps_id()) + self.f.write(name) + if use_link: + self.f.write('') + + self.f.write('\n') + self.f.write('\n') + + for event_id in family.get_event_list(): + event = self.db.get_event_from_handle(event_id) + + self.f.write(' \n') + self.f.write('%s\n' % event.get_name()) + self.f.write('\n') + self.f.write(self.format_event(event)) + self.f.write('\n') + self.f.write('\n') + + def format_event(self,event): + descr = event.get_description() + place = ReportUtils.place_name(self.db,event.get_place_handle()) + date = DateHandler.displayer.display(event.get_date_object()) + + tmap = {'description' : descr, 'date' : date, 'place' : place} + + if descr and date and place: + text = _('%(description)s,    %(date)s    at    %(place)s') % tmap + elif descr and date: + text = _('%(description)s,    %(date)s   ') % tmap + elif descr: + text = descr + elif date and place: + text = _('%(date)s    at    %(place)s') % tmap + elif date: + text = date + elif place: + text = place + else: + text = '\n' + return text + +#------------------------------------------------------------------------ +# +# WebReport +# +#------------------------------------------------------------------------ +class WebReport(Report.Report): + def __init__(self,database,person,options_class): + """ + Creates WebReport object that produces the report. + + The arguments are: + + database - the GRAMPS database instance + person - currently selected person + options_class - instance of the Options class for this report + + This report needs the following parameters (class variables) + that come in the options class. + + filter + od + HTMLimg + HTMLrestrictinfo + HTMLincpriv + HTMLnotxtsi + HTMLlnktoalphabet + HTMLsplita + HTMLplaceidx + HTMLshorttree + HTMLidxcol + HTMLimagedir + HTMLincid + HTMLidurl + HTMLlinktidx + HTMLext + HTMLtreed + HTMLidxt + HTMLgendex + HTMLidxbirth + yearso + """ +# self,db,person,target_path,max_gen,photos,filter,restrict, +# private, srccomments, include_link, include_mini_tree, +# style, image_dir, template_name,use_id,id_link,gendex,places,ext, +# include_alpha_links,separate_alpha,n_cols,ind_template_name, +# depth,birth_dates,year_only): + self.database = database + self.start_person = person + self.options_class = options_class + + filter_num = options_class.get_filter_number() + filters = options_class.get_report_filters(person) + filters.extend(GenericFilter.CustomFilters.get_filters()) + self.filter = filters[filter_num] + + default_style = BaseDoc.StyleSheet() + self.options_class.make_default_style(default_style) + style_file = self.options_class.handler.get_stylesheet_savefile() + style_list = BaseDoc.StyleSheetList(style_file,default_style) + style_name = self.options_class.handler.get_default_stylesheet_name() + self.selected_style = style_list.get_style_sheet(style_name) + + self.template_name = options_class.handler.template_name + + self.target_path = options_class.handler.options_dict['HTMLod'] + self.ext = options_class.handler.options_dict['HTMLext'] + self.use_id = options_class.handler.options_dict['HTMLincid'] + self.id_link = options_class.handler.options_dict['HTMLlinktidx'] + self.photos = options_class.handler.options_dict['HTMLimg'] + self.restrict = options_class.handler.options_dict['HTMLrestrictinfo'] + self.private = options_class.handler.options_dict['HTMLincpriv'] + self.srccomments = options_class.handler.options_dict['HTMLcmtxtsi'] + self.include_link = options_class.handler.options_dict['HTMLlinktidx'] + self.include_mini_tree = options_class.handler.options_dict['HTMLshorttree'] + self.image_dir = options_class.handler.options_dict['HTMLimagedir'] + self.use_gendex = options_class.handler.options_dict['HTMLgendex'] + self.use_places = options_class.handler.options_dict['HTMLplaceidx'] + self.include_alpha_links = options_class.handler.options_dict['HTMLlnktoalphabet'] + self.separate_alpha = options_class.handler.options_dict['HTMLsplita'] + self.n_cols = options_class.handler.options_dict['HTMLidxcol'] + self.ind_template_name = options_class.handler.options_dict['HTMLidxt'] + self.depth = options_class.handler.options_dict['HTMLtreed'] + self.birth_dates = options_class.handler.options_dict['HTMLidxbirth'] + self.year_only = options_class.handler.options_dict['HTMLyearso'] + self.sort = Sort.Sort(self.database) + + def get_progressbar_data(self): + return (_("Generate HTML reports - GRAMPS"), + '%s' % + _("Creating Web Pages")) + + def dump_gendex(self,person_handle_list,html_dir): + fname = "%s/gendex.txt" % html_dir + try: + f = open(fname,"w") + except: + return + for p_id in person_handle_list: + p = self.database.get_person_from_handle(p_id) + name = p.get_primary_name() + firstName = name.get_first_name() + surName = name.get_surname() + suffix = name.get_suffix() + + f.write("%s.%s|" % (p_id,self.ext)) + f.write("%s|" % surName) + if suffix == "": + f.write("%s /%s/|" % (firstName,surName)) + else: + f.write("%s /%s/, %s|" % (firstName,surName, suffix)) + for e_id in [p.get_birth_handle(),p.get_death_handle()]: + if e_id: + e = self.database.get_event_from_handle(e_id) + else: + continue + if e: + f.write("%s|" % DateHander.displayer.display(e.get_date_object())) + if e.get_place_handle(): + f.write('%s|' % self.database.get_place_from_handle(e.get_place_handle()).get_title()) + else: + f.write('|') + else: + f.write('||') + f.write('\n') + f.close() + + def dump_places(self,person_handle_list,styles,template,html_dir): + """Writes an index file, listing all places and the referenced persons.""" + + doc = HtmlLinkDoc(self.selected_style,None,template,None) + doc.set_extension(self.ext) + doc.set_title(_("Place Index")) + + doc.open("%s/loc.%s" % (html_dir,self.ext)) + doc.start_paragraph("Title") + doc.write_text(_("Place Index")) + doc.end_paragraph() + + used_places = {} + for person_handle in person_handle_list: + person = self.database.get_person_from_handle(person_handle) + for event_handle in [person.get_birth_handle(), person.get_death_handle()] + person.get_event_list(): + event = self.database.get_event_from_handle(event_handle) + if event: + if event.get_place_handle() not in used_places: + used_places[event.get_place_handle()] = [] + used_places[event.get_place_handle()].append((person_handle, event.get_name())) + for family_handle in person.get_family_handle_list(): + family = self.database.get_family_from_handle(family_handle) + for event_handle in family.get_event_list(): + event = self.database.get_event_from_handle(event_handle) + if event: + if event.get_place_handle() not in used_places: + used_places[event.get_place_handle()] = [] + used_places[event.get_place_handle()].append((person_handle, event.get_name())) + + for key in self.database.get_place_handles(): + if key in used_places: + myplace = self.database.get_place_from_handle(key) + doc.start_paragraph("IndexLabel") + doc.write_linktarget(myplace.get_gramps_id()) + doc.write_text(myplace.get_title()) + doc.end_paragraph() + + for match in used_places[key]: + person_handle = match[0] + event_name = match[1] + person = self.database.get_person_from_handle(person_handle) + name = person.get_primary_name().get_name() + + if self.birth_dates: + birth_handle = self.database.get_person_from_handle(person_handle).get_birth_handle() + if birth_handle: + birth_event = self.database.get_event_from_handle(birth_handle) + if self.year_only: + birth_dobj = birth_event.get_date_object() + if birth_dobj.get_year_valid(): + birth_date = birth_dobj.get_year() + else: + birth_date = "" + else: + birth_date = birth_event.get_date() + else: + birth_date = "" + doc.start_link("%s.%s" % (person.get_gramps_id(),self.ext)) + doc.write_text(name) + if self.birth_dates and birth_date: + doc.write_text(' (%s %s)' % (_BORN,birth_date)) + doc.end_link() + doc.write_text(' (%s)' % _(event_name)) + doc.newline() + + + if self.include_link: + doc.start_paragraph("Data") + doc.start_link("index.%s" % self.ext) + doc.write_text(_("Return to the index of people")) + doc.end_link() + doc.end_paragraph() + doc.close() + + def dump_index(self,person_handle_list,styles,template,html_dir): + """Writes an index file, listing all people in the person list.""" + + return + + doc = HtmlLinkDoc(self.selected_style,None,template,None) + doc.set_extension(self.ext) + doc.set_title(_("Family Tree Index")) + + doc.open("%s/index.%s" % (html_dir,self.ext)) + doc.start_paragraph("Title") + doc.write_text(_("Family Tree Index")) + doc.end_paragraph() + + person_handle_list.sort(self.sort.by_last_name) + + a = {} + for person_handle in person_handle_list: + person = self.database.get_person_from_handle(person_handle) + n = person.get_primary_name().get_surname() + if n: + a[n[0]] = 1 + else: + a[''] = 1 + + section_number = 1 + link_keys = a.keys() + link_keys.sort() + for n in link_keys: + a[n] = section_number + section_number = section_number + 1 + + if self.include_alpha_links: + doc.start_paragraph('IndexLabelLinks') + if self.separate_alpha: + link_str = "index_%%03d.%s" % self.ext + else: + link_str = "#%03d" + for n in link_keys: + doc.start_link(link_str % a[n]) + doc.write_text(n) + doc.end_link() + doc.write_text(' ') + doc.end_paragraph() + + if self.separate_alpha: + doc.close() + for n in link_keys: + p_id_list = [ p_id for p_id in person_handle_list if \ + (self.database.get_person_from_handle(p_id).get_primary_name().get_surname() \ + and (self.database.get_person_from_handle(p_id).get_primary_name().get_surname()[0] == n) ) ] + doc = HtmlLinkDoc(self.selected_style,None,template,None) + doc.set_extension(self.ext) + doc.set_title(_("Section %s") % n) + + doc.open("%s/index_%03d.%s" % (html_dir,a[n],self.ext)) + doc.start_paragraph("Title") + doc.write_text(_("Section %s") % n) + doc.end_paragraph() + + n_rows = len(p_id_list)/self.n_cols + td_width = 100/self.n_cols + + doc.write_raw('') + doc.write_raw('
' % td_width) + col_len = n_rows + + for person_handle in p_id_list: + the_person = self.database.get_person_from_handle(person_handle) + name = the_person.get_primary_name().get_name() + + if self.birth_dates: + birth_handle = self.database.get_person_from_handle(person_handle).get_birth_handle() + if birth_handle: + birth_event = self.database.get_event_from_handle(birth_handle) + if self.year_only: + birth_dobj = birth_event.get_date_object() + if birth_dobj.get_year_valid(): + birth_date = birth_dobj.get_year() + else: + birth_date = "" + else: + birth_date = birth_event.get_date() + else: + birth_date = "" + + doc.start_link("%s.%s" % (the_person.get_gramps_id(),self.ext)) + doc.write_text(name) + if self.birth_dates and birth_date: + doc.write_text(' (%s %s)' % (_BORN,birth_date)) + doc.end_link() + + if col_len <= 0: + doc.write_raw('' % td_width) + col_len = n_rows + else: + doc.newline() + col_len = col_len - 1 + doc.write_raw('
') + else: + n_rows = len(person_handle_list) + len(link_keys) + n_rows = n_rows/self.n_cols + td_width = 100/self.n_cols + + doc.write_raw('') + doc.write_raw('
' % td_width) + col_len = n_rows + for n in link_keys: + p_id_list = [ p_id for p_id in person_handle_list if \ + (self.database.get_person_from_handle(p_id).get_primary_name().get_surname() \ + and (self.database.get_person_from_handle(p_id).get_primary_name().get_surname()[0] == n) ) ] + doc.start_paragraph('IndexLabel') + if self.include_alpha_links: + doc.write_linktarget("%03d" % a[n]) + doc.write_text(n) + doc.end_paragraph() + col_len = col_len - 1 + + for person_handle in p_id_list: + the_person = self.database.get_person_from_handle(person_handle) + name = the_person.get_primary_name().get_name() + + if self.birth_dates: + birth_handle = self.database.get_person_from_handle(person_handle).get_birth_handle() + if birth_handle: + birth_event = self.database.get_event_from_handle(birth_handle) + if self.year_only: + birth_dobj = birth_event.get_date_object() + if birth_dobj.get_year_valid(): + birth_date = birth_dobj.get_year() + else: + birth_date = "" + else: + birth_date = birth_event.get_date() + else: + birth_date = "" + + doc.start_link("%s.%s" % (the_person.get_gramps_id(),self.ext)) + doc.write_text(name) + if self.birth_dates and birth_date: + doc.write_text(' (%s %s)' % (_BORN,birth_date)) + doc.end_link() + if col_len <= 0: + doc.write_raw('' % td_width) + doc.start_paragraph('IndexLabel') + doc.write_text(_("%s (continued)") % n) + doc.end_paragraph() + col_len = n_rows + else: + doc.newline() + col_len = col_len - 1 + doc.write_raw('
') + if self.include_link and self.use_places: + doc.start_paragraph("Data") + doc.start_link("loc.%s" % self.ext) + doc.write_text(_("Return to the index of places")) + doc.end_link() + doc.end_paragraph() + doc.close() + + def write_report(self): + dir_name = self.target_path + if dir_name == None: + dir_name = os.getcwd() + elif not os.path.isdir(dir_name): + parent_dir = os.path.dirname(dir_name) + if not os.path.isdir(parent_dir): + ErrorDialog(_("Neither %s nor %s are directories") % \ + (dir_name,parent_dir)) + return + else: + try: + os.mkdir(dir_name) + except IOError, value: + ErrorDialog(_("Could not create the directory: %s") % \ + dir_name + "\n" + value[1]) + return + except: + ErrorDialog(_("Could not create the directory: %s") % \ + dir_name) + return + + if self.image_dir: + image_dir_name = os.path.join(dir_name, self.image_dir) + else: + image_dir_name = dir_name + if not os.path.isdir(image_dir_name) and self.photos != 0: + try: + os.mkdir(image_dir_name) + except IOError, value: + ErrorDialog(_("Could not create the directory: %s") % \ + image_dir_name + "\n" + value[1]) + return + except: + ErrorDialog(_("Could not create the directory: %s") % \ + image_dir_name) + return + + ind_list = self.filter.apply(self.database,self.database.get_person_handles(sort_handles=False)) + progress_steps = len(ind_list) + if len(ind_list) > 1: + progress_steps = progress_steps+1 + if self.use_gendex == 1: + progress_steps = progress_steps+1 + if self.use_places == 1: + progress_steps = progress_steps+1 + self.progress_bar_setup(float(progress_steps)) + + for person_handle in ind_list: + person = self.database.get_person_from_handle(person_handle) + idoc = IndividualPage(self.database,person, dir_name, ind_list) + self.progress_bar_step() + while gtk.events_pending(): + gtk.main_iteration() + + if len(ind_list) > 1: + self.dump_index(ind_list,self.selected_style, + self.ind_template_name,dir_name) + self.progress_bar_step() + while gtk.events_pending(): + gtk.main_iteration() + if self.use_gendex == 1: + self.dump_gendex(ind_list,dir_name) + self.progress_bar_step() + while gtk.events_pending(): + gtk.main_iteration() + if 0: + self.dump_places(ind_list,self.selected_style, + self.ind_template_name,dir_name) + self.progress_bar_step() + while gtk.events_pending(): + gtk.main_iteration() + self.progress_bar_done() + + def add_styles(self,doc): + tbl = BaseDoc.TableStyle() + tbl.set_width(100) + tbl.set_column_widths([15,85]) + doc.add_table_style("IndTable",tbl) + + cell = BaseDoc.TableCellStyle() + doc.add_cell_style("NormalCell",cell) + + cell = BaseDoc.TableCellStyle() + cell.set_padding(0.2) + doc.add_cell_style("ImageCell",cell) + + cell = BaseDoc.TableCellStyle() + cell.set_padding(0.2) + doc.add_cell_style("NoteCell",cell) + +#------------------------------------------------------------------------ +# +# +# +#------------------------------------------------------------------------ +class WebReportOptions(ReportOptions.ReportOptions): + + """ + Defines options and provides handling interface. + """ + + def __init__(self,name,person_id=None): + ReportOptions.ReportOptions.__init__(self,name,person_id) + + def set_new_options(self): + # Options specific for this report + self.options_dict = { + 'HTMLod' : '', + 'HTMLimg' : 2, + 'HTMLrestrictinfo' : 0, + 'HTMLincpriv' : 0, + 'HTMLcmtxtsi' : 0, + 'HTMLlnktoalphabet' : 0, + 'HTMLsplita' : 0, + 'HTMLshorttree' : 1, + 'HTMLimagedir' : 'images', + 'HTMLincid' : 0, + 'HTMLidurl' : '', + 'HTMLlinktidx' : 1, + 'HTMLext' : 'html', + 'HTMLtreed' : 3, + 'HTMLidxt' : '', + 'HTMLidxcol' : 2, + 'HTMLgendex' : 0, + 'HTMLidxbirth' : 0, + 'HTMLplaceidx' : 0, + 'HTMLyearso' : 1, + } + + self.options_help = { + } + + def enable_options(self): + # Semi-common options that should be enabled for this report + self.enable_dict = { + 'filter' : 0, + } + + def get_report_filters(self,person): + """Set up the list of possible content filters.""" + if person: + name = person.get_primary_name().get_name() + handle = person.get_handle() + else: + name = 'PERSON' + handle = '' + + all = GenericFilter.GenericFilter() + all.set_name(_("Entire Database")) + all.add_rule(GenericFilter.Everyone([])) + + des = GenericFilter.GenericFilter() + des.set_name(_("Descendants of %s") % name) + des.add_rule(GenericFilter.IsDescendantOf([handle,1])) + + df = GenericFilter.GenericFilter() + df.set_name(_("Descendant Families of %s") % name) + df.add_rule(GenericFilter.IsDescendantFamilyOf([handle])) + + ans = GenericFilter.GenericFilter() + ans.set_name(_("Ancestors of %s") % name) + ans.add_rule(GenericFilter.IsAncestorOf([handle,1])) + + com = GenericFilter.GenericFilter() + com.set_name(_("People with common ancestor with %s") % name) + com.add_rule(GenericFilter.HasCommonAncestorWith([handle])) + + return [all,des,df,ans,com] + + def add_user_options(self,dialog): + lnk_msg = _("Include a link to the index page") + priv_msg = _("Do not include records marked private") + restrict_msg = _("Restrict information on living people") + no_img_msg = _("Do not use images") + no_limg_msg = _("Do not use images for living people") + no_com_msg = _("Do not include comments and text in source information") + include_id_msg = _("Include the GRAMPS ID in the report") + gendex_msg = _("Create a GENDEX index") + places_msg = _("Create an index of all Places") + imgdir_msg = _("Image subdirectory") + depth_msg = _("Ancestor tree depth") + ext_msg = _("File extension") + alpha_links_msg = _("Links to alphabetical sections in index page") + sep_alpha_msg = _("Split alphabetical sections to separate pages") + birth_date_msg = _("Append birth dates to the names") + year_only_msg = _("Use only year of birth") + tree_msg = _("Include short ancestor tree") + + self.mini_tree = gtk.CheckButton(tree_msg) + self.mini_tree.set_active(self.options_dict['HTMLshorttree']) + + self.depth = gtk.SpinButton() + self.depth.set_digits(0) + self.depth.set_increments(1,2) + self.depth.set_range(1,10) + self.depth.set_numeric(gtk.TRUE) + self.depth.set_value(self.options_dict['HTMLtreed']) + + self.use_link = gtk.CheckButton(lnk_msg) + self.use_link.set_active(self.options_dict['HTMLlinktidx']) + + self.no_private = gtk.CheckButton(priv_msg) + self.no_private.set_active(not self.options_dict['HTMLincpriv']) + + self.restrict_living = gtk.CheckButton(restrict_msg) + self.restrict_living.set_active(self.options_dict['HTMLrestrictinfo']) + + # FIXME: document this: + # 0 -- no images of any kind + # 1 -- no living images, but some images + # 2 -- any images + images = self.options_dict['HTMLimg'] + self.no_images = gtk.CheckButton(no_img_msg) + self.no_images.set_active(not images) + + self.no_living_images = gtk.CheckButton(no_limg_msg) + self.no_living_images.set_sensitive(not images) + self.no_living_images.set_active(images in (0,1)) + + self.no_comments = gtk.CheckButton(no_com_msg) + self.no_comments.set_active(not self.options_dict['HTMLcmtxtsi']) + + self.include_id = gtk.CheckButton(include_id_msg) + self.include_id.set_active(self.options_dict['HTMLincid']) + + self.gendex = gtk.CheckButton(gendex_msg) + self.gendex.set_active(self.options_dict['HTMLgendex']) + + self.places = gtk.CheckButton(places_msg) + self.places.set_active(self.options_dict['HTMLplaceidx']) + + self.imgdir = gtk.Entry() + self.imgdir.set_text(self.options_dict['HTMLimagedir']) + + self.linkpath = gtk.Entry() + self.linkpath.set_sensitive(self.options_dict['HTMLincid']) + self.linkpath.set_text(self.options_dict['HTMLidurl']) + + self.include_id.connect('toggled',self.show_link) + self.ext = gtk.combo_box_new_text() + for text in ['.html','.htm','.php','.php3','.cgi']: + self.ext.append_text(text) + + #self.ext.set_active(self.options_dict['HTMLext']) + + self.use_alpha_links = gtk.CheckButton(alpha_links_msg) + self.use_alpha_links.set_active(self.options_dict['HTMLlnktoalphabet']) + + self.use_sep_alpha = gtk.CheckButton(sep_alpha_msg) + self.use_sep_alpha.set_sensitive(self.options_dict['HTMLlnktoalphabet']) + self.use_sep_alpha.set_active(self.options_dict['HTMLsplita']) + + self.use_n_cols = gtk.SpinButton() + self.use_n_cols.set_digits(0) + self.use_n_cols.set_increments(1,2) + self.use_n_cols.set_range(1,5) + self.use_n_cols.set_numeric(gtk.TRUE) + self.use_n_cols.set_value(self.options_dict['HTMLidxcol']) + + self.ind_template = gtk.Combo() + template_list = [ Report._default_template ] + tlist = Report._template_map.keys() + tlist.sort() + for template in tlist: + if template != Report._user_template: + template_list.append(template) + template_list.append(Report._user_template) + self.ind_template.set_popdown_strings(template_list) + self.ind_template.entry.set_editable(0) + self.ind_user_template = gnome.ui.FileEntry("HTML_Template",_("Choose File")) + self.ind_user_template.set_sensitive(0) + + self.add_birth_date = gtk.CheckButton(birth_date_msg) + self.add_birth_date.set_active(self.options_dict['HTMLidxbirth']) + + self.use_year_only = gtk.CheckButton(year_only_msg) + self.use_year_only.set_active(self.options_dict['HTMLyearso']) + self.use_year_only.set_sensitive(self.options_dict['HTMLidxbirth']) + + self.add_birth_date.connect('toggled',self.on_birth_date_toggled) + + dialog.add_option(imgdir_msg,self.imgdir) + dialog.add_option('',self.mini_tree) + dialog.add_option(depth_msg,self.depth) + dialog.add_option('',self.use_link) + + self.mini_tree.connect('toggled',self.on_mini_tree_toggled) + + self.use_alpha_links.connect('toggled',self.on_use_alpha_links_toggled) + self.ind_template.entry.connect('changed',self.ind_template_changed) + + title = _("Privacy") + dialog.add_frame_option(title,None,self.no_private) + dialog.add_frame_option(title,None,self.restrict_living) + dialog.add_frame_option(title,None,self.no_images) + dialog.add_frame_option(title,None,self.no_living_images) + dialog.add_frame_option(title,None,self.no_comments) + + title = _('Index page') + dialog.add_frame_option(title,_('Template'),self.ind_template) + dialog.add_frame_option(title,_("User Template"),self.ind_user_template) + dialog.add_frame_option(title,None,self.use_alpha_links) + dialog.add_frame_option(title,None,self.use_sep_alpha) + dialog.add_frame_option(title,_('Number of columns'),self.use_n_cols) + dialog.add_frame_option(title,None,self.add_birth_date) + dialog.add_frame_option(title,None,self.use_year_only) + + title = _('Advanced') + dialog.add_frame_option(title,'',self.include_id) + dialog.add_frame_option(title,_('GRAMPS ID link URL'),self.linkpath) + dialog.add_frame_option(title,'',self.gendex) + dialog.add_frame_option(title,'',self.places) + dialog.add_frame_option(title,ext_msg,self.ext) + + self.no_images.connect('toggled',self.on_nophotos_toggled) + + def parse_user_options(self,dialog): + """Parse the privacy options frame of the dialog. Save the + user selected choices for later use.""" + + self.options_dict['HTMLrestrictinfo'] = int(self.restrict_living.get_active()) + self.options_dict['HTMLincpriv'] = int(not self.no_private.get_active()) + self.options_dict['HTMLimagedir'] = unicode(self.imgdir.get_text()) + self.options_dict['HTMLshorttree'] = int(self.mini_tree.get_active()) + self.options_dict['HTMLtreed'] = self.depth.get_value_as_int() + self.options_dict['HTMLlinktidx'] = int(self.use_link.get_active()) + + #html_ext = unicode(self.ext.entry.get_text().strip()) + html_ext = ".html" + if html_ext[0] == '.': + html_ext = html_ext[1:] + self.options_dict['HTMLext'] = html_ext + + self.options_dict['HTMLincid'] = int(self.include_id.get_active()) + self.options_dict['HTMLgendex'] = int(self.gendex.get_active()) + self.options_dict['HTMLplaceidx'] = int(self.places.get_active()) + self.options_dict['HTMLidurl'] = unicode(self.linkpath.get_text().strip()) + + self.options_dict['HTMLcmtxtsi'] = int(not self.no_comments.get_active()) + if self.no_images.get_active(): + photos = 0 + elif self.no_living_images.get_active(): + photos = 1 + else: + photos = 2 + self.options_dict['HTMLimg'] = photos + + text = unicode(self.ind_template.entry.get_text()) + if Report._template_map.has_key(text): + if text == Report._user_template: + ind_template_name = dialog.ind_user_template.get_full_path(0) + else: + ind_template_name = "%s/%s" % (const.template_dir,Report._template_map[text]) + else: + ind_template_name = None + self.options_dict['HTMLidxt'] = ind_template_name + + self.options_dict['HTMLlnktoalphabet'] = int(self.use_alpha_links.get_active()) + + if self.options_dict['HTMLlnktoalphabet']: + separate_alpha = int(self.use_sep_alpha.get_active()) + else: + separate_alpha = 0 + self.options_dict['HTMLsplita'] = int(separate_alpha) + + self.options_dict['HTMLidxcol'] = self.use_n_cols.get_value_as_int() + self.options_dict['HTMLidxbirth'] = int(self.add_birth_date.get_active()) + self.options_dict['HTMLyearso'] = int(self.use_year_only.get_active()) + self.options_dict['HTMLod'] = dialog.target_path + + #------------------------------------------------------------------------ + # + # Callback functions from the dialog + # + #------------------------------------------------------------------------ + def show_link(self,obj): + self.linkpath.set_sensitive(obj.get_active()) + + def on_nophotos_toggled(self,obj): + """Keep the 'restrict photos' checkbox in line with the 'no + photos' checkbox. If there are no photos included, it makes + no sense to worry about restricting which photos are included, + now does it?""" + self.no_living_images.set_sensitive(not obj.get_active()) + + def on_use_alpha_links_toggled(self,obj): + """Keep the 'split alpha sections to separate pages' checkbox in + line with the 'use alpha links' checkbox. If there are no alpha + links included, it makes no sense to worry about splitting or not + the alpha link target to separate pages.""" + self.use_sep_alpha.set_sensitive(obj.get_active()) + + def on_mini_tree_toggled(self,obj): + """Keep the 'Mini tree depth' spin button in line with + the 'include short tree' checkbox. If there is no mini tree included, + it makes no sense to worry about its depth.""" + self.depth.set_sensitive(obj.get_active()) + + def ind_template_changed(self,obj): + text = unicode(obj.get_text()) + if Report._template_map.has_key(text): + if Report._template_map[text]: + self.ind_user_template.set_sensitive(0) + else: + self.ind_user_template.set_sensitive(1) + else: + self.ind_user_template.set_sensitive(0) + + def on_birth_date_toggled(self,obj): + """Keep the 'User year only' check button in line with + the 'Add birth date' checkbox. If no mini birth date is added + then it makes no sense to worry about its format.""" + self.use_year_only.set_sensitive(obj.get_active()) + + def make_default_style(self,default_style): + """Make the default output style for the Web Pages Report.""" + font = BaseDoc.FontStyle() + font.set(bold=1, face=BaseDoc.FONT_SANS_SERIF, size=16) + p = BaseDoc.ParagraphStyle() + p.set(align=BaseDoc.PARA_ALIGN_CENTER,font=font) + p.set_description(_("The style used for the title of the page.")) + default_style.add_style("Title",p) + + font = BaseDoc.FontStyle() + font.set(bold=1,face=BaseDoc.FONT_SANS_SERIF,size=12,italic=1) + p = BaseDoc.ParagraphStyle() + p.set(font=font,bborder=1) + p.set_description(_("The style used for the header that identifies " + "facts and events.")) + default_style.add_style("EventsTitle",p) + + font = BaseDoc.FontStyle() + font.set(bold=1,face=BaseDoc.FONT_SANS_SERIF,size=12,italic=1) + p = BaseDoc.ParagraphStyle() + p.set(font=font,bborder=1) + p.set_description(_("The style used for the header for the notes section.")) + default_style.add_style("NotesTitle",p) + + font = BaseDoc.FontStyle() + font.set(face=BaseDoc.FONT_SANS_SERIF,size=10) + p = BaseDoc.ParagraphStyle() + p.set(font=font,align=BaseDoc.PARA_ALIGN_CENTER) + p.set_description(_("The style used for the copyright notice.")) + default_style.add_style("Copyright",p) + + font = BaseDoc.FontStyle() + font.set(bold=1,face=BaseDoc.FONT_SANS_SERIF,size=12,italic=1) + p = BaseDoc.ParagraphStyle() + p.set(font=font,bborder=1) + p.set_description(_("The style used for the header for the sources section.")) + default_style.add_style("SourcesTitle",p) + + font = BaseDoc.FontStyle() + font.set(bold=1,face=BaseDoc.FONT_SANS_SERIF,size=14,italic=1) + p = BaseDoc.ParagraphStyle() + p.set(font=font) + p.set_description(_("The style used on the index page that labels each section.")) + default_style.add_style("IndexLabel",p) + + font = BaseDoc.FontStyle() + font.set(bold=1,face=BaseDoc.FONT_SANS_SERIF,size=14,italic=1) + p = BaseDoc.ParagraphStyle() + p.set(font=font,align=BaseDoc.PARA_ALIGN_CENTER) + p.set_description(_("The style used on the index page that labels links to each section.")) + default_style.add_style("IndexLabelLinks",p) + + font = BaseDoc.FontStyle() + font.set(bold=1,face=BaseDoc.FONT_SANS_SERIF,size=12,italic=1) + p = BaseDoc.ParagraphStyle() + p.set(font=font,bborder=1) + p.set_description(_("The style used for the header for the image section.")) + default_style.add_style("GalleryTitle",p) + + font = BaseDoc.FontStyle() + font.set(bold=1,face=BaseDoc.FONT_SANS_SERIF,size=12,italic=1) + p = BaseDoc.ParagraphStyle() + p.set(font=font,bborder=1) + p.set_description(_("The style used for the header for the siblings section.")) + default_style.add_style("SiblingsTitle",p) + + font = BaseDoc.FontStyle() + font.set(bold=1,face=BaseDoc.FONT_SANS_SERIF,size=12,italic=1) + p = BaseDoc.ParagraphStyle() + p.set(font=font,bborder=1) + p.set_description(_("The style used for the header for the marriages " + "and children section.")) + default_style.add_style("FamilyTitle",p) + + font = BaseDoc.FontStyle() + font.set(bold=1,face=BaseDoc.FONT_SANS_SERIF,size=12) + p = BaseDoc.ParagraphStyle() + p.set_font(font) + p.set_description(_("The style used for the spouse's name.")) + default_style.add_style("Spouse",p) + + font = BaseDoc.FontStyle() + font.set(size=12,italic=1) + p = BaseDoc.ParagraphStyle() + p.set_font(font) + p.set_description(_("The style used for the general data labels.")) + default_style.add_style("Label",p) + + font = BaseDoc.FontStyle() + font.set_size(12) + p = BaseDoc.ParagraphStyle() + p.set_font(font) + p.set_description(_("The style used for the general data.")) + default_style.add_style("Data",p) + + font = BaseDoc.FontStyle() + font.set(bold=1,face=BaseDoc.FONT_SANS_SERIF,size=12) + p = BaseDoc.ParagraphStyle() + p.set_font(font) + p.set_description(_("The style used for the description of images.")) + default_style.add_style("PhotoDescription",p) + + font = BaseDoc.FontStyle() + font.set(size=12) + p = BaseDoc.ParagraphStyle() + p.set_font(font) + p.set_description(_("The style used for the notes associated with images.")) + default_style.add_style("PhotoNote",p) + + font = BaseDoc.FontStyle() + font.set_size(10) + p = BaseDoc.ParagraphStyle() + p.set_font(font) + p.set_description(_("The style used for the source information.")) + default_style.add_style("SourceParagraph",p) + + font = BaseDoc.FontStyle() + font.set_size(12) + p = BaseDoc.ParagraphStyle() + p.set_font(font) + p.set_description(_("The style used for the note information.")) + default_style.add_style("NotesParagraph",p) + + font = BaseDoc.FontStyle() + font.set(bold=1,face=BaseDoc.FONT_SANS_SERIF,size=12,italic=1) + p = BaseDoc.ParagraphStyle() + p.set(font=font,bborder=1) + p.set_description(_("The style used for the header for the URL section.")) + default_style.add_style("UrlTitle",p) + + font = BaseDoc.FontStyle() + font.set_size(12) + p = BaseDoc.ParagraphStyle() + p.set_font(font) + p.set_description(_("The style used for the URL information.")) + default_style.add_style("UrlList",p) + +#------------------------------------------------------------------------ +# +# +# +#------------------------------------------------------------------------ +class WebReportDialog(Report.ReportDialog): + + def __init__(self,database,person): + self.database = database + self.person = person + name = "webpage" + translated_name = _("Generate Web Site") + self.options_class = WebReportOptions(name) + self.category = const.CATEGORY_WEB + Report.ReportDialog.__init__(self,database,person,self.options_class, + name,translated_name) + + response = self.window.run() + if response == gtk.RESPONSE_OK: + try: + self.make_report() + except (IOError,OSError),msg: + ErrorDialog(str(msg)) + self.window.destroy() + + def get_title(self): + """The window title for this dialog""" + return "%s - %s - GRAMPS" % (_("Generate Web Site"),_("Web Page")) + + def get_target_browser_title(self): + """The title of the window created when the 'browse' button is + clicked in the 'Save As' frame.""" + return _("Target Directory") + + def get_target_is_directory(self): + """This report creates a directory full of files, not a single file.""" + return 1 + + def get_default_directory(self): + """Get the name of the directory to which the target dialog + box should default. This value can be set in the preferences + panel.""" + return self.options_class.handler.options_dict['HTMLod'] + + def make_document(self): + """Do Nothing. This document will be created in the + make_report routine.""" + pass + + def setup_format_frame(self): + """Do nothing, since we don't want a format frame (HTML only)""" + pass + + def setup_post_process(self): + """The format frame is not used in this dialog. Hide it, and + set the output notebook to always display the html template + page.""" + self.output_notebook.set_current_page(1) + + def parse_format_frame(self): + """The format frame is not used in this dialog.""" + pass + + def make_report(self): + """Create the object that will produce the web pages.""" + + try: + MyReport = WebReport(self.database,self.person,self.options_class) + """ + self.target_path, + self.max_gen, self.photos, self.filter, + self.restrict, self.private, self.srccomments, + self.include_link, self.include_mini_tree, + self.selected_style, + self.img_dir_text,self.template_name, + self.use_id,self.id_link,self.use_gendex,self.use_places, + self.html_ext,self.include_alpha_links, + self.separate_alpha,self.n_cols, + self.ind_template_name,self.depth_value, + self.birth_dates,self.year_only) + """ + MyReport.write_report() + except Errors.FilterError, msg: + (m1,m2) = msg.messages() + ErrorDialog(m1,m2) + +#------------------------------------------------------------------------ +# +# +# +#------------------------------------------------------------------------ +class MiniTree: + """ + This is one dirty piece of code, that is why I made it it's own + class. I'm sure that someone with more knowledge of GRAMPS can make + it much cleaner. + """ + def __init__(self,db,person,doc,the_map,depth): + self.map = the_map + self.db = db + self.doc = doc + self.depth = depth + self.person = person + self.lines_map = {} + self.draw_parents(person,2**(self.depth-1),'',self.depth,1) + keys = self.lines_map.keys() + keys.sort() + self.lines = [ self.lines_map[key] for key in keys ] + + def draw_parents(self,person,position,indent,generations,topline): + + name = person.get_primary_name().get_regular_name() + self.lines_map[position] = "" + + if topline and indent: + # if we're on top (father's) line, replace last '|' with space + self.lines_map[position] += indent[:-1] + ' ' + else: + self.lines_map[position] += indent + + if person and person.get_handle() and self.map.has_key(person.get_handle()): + self.lines_map[position] += "%s" % (person.get_gramps_id(), + self.doc.ext, name) + else: + self.lines_map[position] += "%s" % name + + # We are done with this generation + generations = generations - 1 + if not generations: return + + offset = 2**(generations-1) + + family_handle = person.get_main_parents_family_handle() + if not family_handle: return + + family = self.db.get_family_from_handle(family_handle) + father_handle = family.get_father_handle() + mother_handle = family.get_mother_handle() + + if topline: + # if we're on top (father's) line, replace last '|' with space + # then add '|' to the end for the next generation + if indent: + father_indent = indent[:-1] + ' ' + ' ' * len(name) + '|' + else: + father_indent = ' ' * len(name) + '|' + mother_indent = indent + ' ' * len(name) + '|' + else: + # if we're not on top (i.e. mother's) line, remove last '|' + # from next mother's indent, then add '|' to both + father_indent = indent + ' ' * len(name) + '|' + mother_indent = indent[:-1] + ' ' + ' ' * len(name) + '|' + + if father_handle: + father = self.db.get_person_from_handle(father_handle) + next_pos = position - offset + self.lines_map[position] += '|' + self.draw_parents(father,next_pos,father_indent,generations,1) + + if mother_handle: + mother = self.db.get_person_from_handle(mother_handle) + next_pos = position + offset + self.draw_parents(mother,next_pos,mother_indent,generations,0) + + def draw_father(self, person, name, line, indent): + self.draw_string(line, indent, '|') + self.draw_string(line-1, indent+1, "") + self.draw_link(line-1, person, name) + + def draw_mother(self, person, name, line, indent): + self.draw_string(line+1, indent, '|') + self.draw_link(line+1, person, name) + + def draw_string(self, line, indent, text): + self.lines[line] += ' ' * (indent-len(self.lines[line])) + text + + def draw_link(self, line, person, name): + if person and person.get_handle() and self.map.has_key(person.get_handle()): + self.lines[line] += "%s" % (person.get_gramps_id(), + self.doc.ext, name) + else: + self.lines[line] += "%s" % name + +#------------------------------------------------------------------------ +# +# +# +#------------------------------------------------------------------------ +def cl_report(database,name,category,options_str_dict): + + clr = Report.CommandLineReport(database,name,category,WebReportOptions,options_str_dict) + + # Exit here if show option was given + if clr.show: + return + + try: + MyReport = WebReport(database,clr.person,clr.option_class) + MyReport.write_report() + except: + import DisplayTrace + DisplayTrace.DisplayTrace() + +#------------------------------------------------------------------------- +# +# +# +#------------------------------------------------------------------------- +from PluginMgr import register_report +register_report( + name = 'webpage', + category = const.CATEGORY_WEB, + report_class = WebReportDialog, + options_class = cl_report, + modes = Report.MODE_GUI | Report.MODE_CLI, + translated_name = _("Narrative Web Site"), + status=(_("Beta")), + description=_("Generates web (HTML) pages for individuals, or a set of individuals."), + ) diff --git a/gramps2/src/plugins/RelCalc.py b/gramps2/src/plugins/RelCalc.py index 76e1d4dbb..f54feece2 100644 --- a/gramps2/src/plugins/RelCalc.py +++ b/gramps2/src/plugins/RelCalc.py @@ -105,9 +105,9 @@ class RelCalc: else: bdate = "" name = p.get_primary_name() - if p.get_gender() == RelLib.Person.male: + if p.get_gender() == RelLib.Person.MALE: gender = _("male") - elif p.get_gender() == RelLib.Person.female: + elif p.get_gender() == RelLib.Person.FEMALE: gender = _("female") else: gender = _("unknown") diff --git a/gramps2/src/plugins/StatisticsChart.py b/gramps2/src/plugins/StatisticsChart.py index 7cf87d2bb..64583cbef 100755 --- a/gramps2/src/plugins/StatisticsChart.py +++ b/gramps2/src/plugins/StatisticsChart.py @@ -76,9 +76,9 @@ class _options: (SORT_KEY, "Item name", _("Item name")) ] genders = [ - (Person.unknown, "Both", _("Both")), - (Person.male, "Men", _("Men")), - (Person.female, "Women", _("Women")) + (Person.UNKNOWN, "Both", _("Both")), + (Person.MALE, "Men", _("Men")), + (Person.FEMALE, "Women", _("Women")) ] @@ -154,9 +154,9 @@ class Extract: "return gender for given person" # TODO: why there's no Person.getGenderName? # It could be used by getDisplayInfo & this... - if person.gender == Person.male: + if person.gender == Person.MALE: return [_("Men")] - if person.gender == Person.female: + if person.gender == Person.FEMALE: return [_("Women")] return [_("Gender unknown")] @@ -392,7 +392,7 @@ class Extract: person = db.get_person_from_handle(person_handle) # check whether person has suitable gender - if person.gender != genders and genders != Person.unknown: + if person.gender != genders and genders != Person.UNKNOWN: continue # check whether birth year is within required range @@ -453,9 +453,9 @@ class StatisticsChart(Report.Report): gender = options['gender'] # title needs both data extraction method name + gender name - if gender == Person.male: + if gender == Person.MALE: genders = _("Men") - elif gender == Person.female: + elif gender == Person.FEMALE: genders = _("Women") else: genders = None @@ -704,7 +704,7 @@ class StatisticsChartOptions(ReportOptions.ReportOptions): def set_new_options(self): # Options specific for this report self.options_dict = { - 'gender' : Person.unknown, + 'gender' : Person.UNKNOWN, 'sortby' : _options.SORT_VALUE, 'reverse' : 0, 'year_from' : 1700, diff --git a/gramps2/src/plugins/Summary.py b/gramps2/src/plugins/Summary.py index 3e160b819..ff1502e92 100644 --- a/gramps2/src/plugins/Summary.py +++ b/gramps2/src/plugins/Summary.py @@ -99,7 +99,7 @@ def build_report(database,person): missing_bday = missing_bday + 1 else: missing_bday = missing_bday + 1 - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: females = females + 1 else: males = males + 1 diff --git a/gramps2/src/plugins/Verify.py b/gramps2/src/plugins/Verify.py index 6ed55b483..6c608632a 100644 --- a/gramps2/src/plugins/Verify.py +++ b/gramps2/src/plugins/Verify.py @@ -167,60 +167,60 @@ class Verify: if byear>0 and bapyear>0: if byear > bapyear: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: error.write( _("Baptized before birth: %(male_name)s born %(byear)d, baptized %(bapyear)d.\n") % { 'male_name' : idstr, 'byear' : byear, 'bapyear' : bapyear } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: error.write( _("Baptized before birth: %(female_name)s born %(byear)d, baptized %(bapyear)d.\n") % { 'female_name' : idstr, 'byear' : byear, 'bapyear' : bapyear } ) if byear < bapyear: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: warn.write( _("Baptized late: %(male_name)s born %(byear)d, baptized %(bapyear)d.\n") % { 'male_name' : idstr, 'byear' : byear, 'bapyear' : bapyear } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: warn.write( _("Baptized late: %(female_name)s born %(byear)d, baptized %(bapyear)d.\n") % { 'female_name' : idstr, 'byear' : byear, 'bapyear' : bapyear } ) if dyear>0 and buryear>0: if dyear > buryear: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: error.write( _("Buried before death: %(male_name)s died %(dyear)d, buried %(buryear)d.\n") % { 'male_name' : idstr, 'dyear' : dyear, 'buryear' : buryear } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: error.write( _("Buried before death: %(female_name)s died %(dyear)d, buried %(buryear)d.\n") % { 'female_name' : idstr, 'dyear' : dyear, 'buryear' : buryear } ) if dyear < buryear: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: warn.write( _("Buried late: %(male_name)s died %(dyear)d, buried %(buryear)d.\n") % { 'male_name' : idstr, 'dyear' : dyear, 'buryear' : buryear } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: warn.write( _("Buried late: %(female_name)s died %(dyear)d, buried %(buryear)d.\n") % { 'female_name' : idstr, 'dyear' : dyear, 'buryear' : buryear } ) if dyear>0 and (byear>dyear): - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: error.write( _("Died before birth: %(male_name)s born %(byear)d, died %(dyear)d.\n") % { 'male_name' : idstr, 'byear' : byear, 'dyear' : dyear } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: error.write( _("Died before birth: %(female_name)s born %(byear)d, died %(dyear)d.\n") % { 'female_name' : idstr, 'byear' : byear, 'dyear' : dyear } ) if dyear>0 and (bapyear>dyear): - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: error.write( _("Died before baptism: %(male_name)s baptized %(bapyear)d, died %(dyear)d.\n") % { 'male_name' : idstr, 'bapyear' : bapyear, 'dyear' : dyear } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: error.write( _("Died before baptism: %(female_name)s baptized %(bapyear)d, died %(dyear)d.\n") % { 'female_name' : idstr, 'bapyear' : bapyear, 'dyear' : dyear } ) if buryear>0 and (byear>buryear): - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: error.write( _("Buried before birth: %(male_name)s born %(byear)d, buried %(buryear)d.\n") % { 'male_name' : idstr, 'byear' : byear, 'buryear' : buryear } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: error.write( _("Buried before birth: %(female_name)s born %(byear)d, buried %(buryear)d.\n") % { 'female_name' : idstr, 'byear' : byear, 'buryear' : buryear } ) if buryear>0 and (bapyear>buryear): - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: error.write( _("Buried before baptism: %(male_name)s baptized %(bapyear)d, buried %(buryear)d.\n") % { 'male_name' : idstr, 'bapyear' : bapyear, 'buryear' : buryear } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: error.write( _("Buried before baptism: %(female_name)s baptized %(bapyear)d, buried %(buryear)d.\n") % { 'female_name' : idstr, 'bapyear' : bapyear, 'buryear' : buryear } ) if byear == 0 and estimate_age: @@ -232,26 +232,26 @@ class Verify: else: ageatdeath = 0 if ageatdeath > oldage: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: warn.write( _("Old age: %(male_name)s born %(byear)d, died %(dyear)d, at the age of %(ageatdeath)d.\n") % { 'male_name' : idstr, 'byear' : byear, 'dyear' : dyear, 'ageatdeath' : ageatdeath } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: warn.write( _("Old age: %(female_name)s born %(byear)d, died %(dyear)d, at the age of %(ageatdeath)d.\n") % { 'female_name' : idstr, 'byear' : byear, 'dyear' : dyear, 'ageatdeath' : ageatdeath } ) # gender checks - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: oldpar = oldmom yngpar = yngmom - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: oldpar = olddad yngpar = yngdad - if (person.get_gender() != RelLib.Person.female) and (person.get_gender() != RelLib.Person.male): + if (person.get_gender() != RelLib.Person.FEMALE) and (person.get_gender() != RelLib.Person.MALE): warn.write( _("Unknown gender for %s.\n") % idstr ) oldpar = olddad yngpar = yngdad - if (person.get_gender() == RelLib.Person.female) and (person.get_gender() == RelLib.Person.male): + if (person.get_gender() == RelLib.Person.FEMALE) and (person.get_gender() == RelLib.Person.MALE): error.write( _("Ambiguous gender for %s.\n") % idstr ) oldpar = olddad yngpar = yngdad @@ -264,17 +264,17 @@ class Verify: nkids = 0 nfam = len( person.get_family_handle_list() ) if nfam > wedder: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: warn.write( _("Married often: %(male_name)s married %(nfam)d times.\n") % { 'male_name' : idstr, 'nfam' : nfam } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: warn.write( _("Married often: %(female_name)s married %(nfam)d times.\n") % { 'female_name' : idstr, 'nfam' : nfam } ) if ageatdeath>oldunm and nfam == 0: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: warn.write( _("Old and unmarried: %(male_name)s died unmarried, at the age of %(ageatdeath)d years.\n") % { 'male_name' : idstr, 'ageatdeath' : ageatdeath } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: warn.write( _("Old and unmarried: %(female_name)s died unmarried, at the age of %(ageatdeath)d years.\n") % { 'female_name' : idstr, 'ageatdeath' : ageatdeath } ) prev_cbyear=0 @@ -291,11 +291,11 @@ class Verify: if father_handle: father = self.db.get_person_from_handle(father_handle) if mother_handle and father_handle: - if ( mother.get_gender() == father.get_gender() ) and mother.get_gender() != RelLib.Person.unknown: + if ( mother.get_gender() == father.get_gender() ) and mother.get_gender() != RelLib.Person.UNKNOWN: warn.write( _("Homosexual marriage: %s in family %s.\n") % ( idstr, family.get_gramps_id() ) ) - if father_handle == person.get_handle() and person.get_gender() == RelLib.Person.female: + if father_handle == person.get_handle() and person.get_gender() == RelLib.Person.FEMALE: error.write( _("Female husband: %s in family %s.\n") % ( idstr, family.get_gramps_id() ) ) - if mother_handle == person.get_handle() and person.get_gender() == RelLib.Person.male: + if mother_handle == person.get_handle() and person.get_gender() == RelLib.Person.MALE: error.write( _("Male wife: %s in family %s.\n") % ( idstr, family.get_gramps_id() ) ) if father_handle == person.get_handle(): spouse_id = mother_handle @@ -303,7 +303,7 @@ class Verify: spouse_id = father_handle if spouse_id: spouse = self.db.get_person_from_handle(spouse_id) - if person.get_gender() == RelLib.Person.male and \ + if person.get_gender() == RelLib.Person.MALE and \ person.get_primary_name().get_surname() == spouse.get_primary_name().get_surname(): warn.write( _("Husband and wife with the same surname: %s in family %s, and %s.\n") % ( idstr,family.get_gramps_id(), spouse.get_primary_name().get_name() ) ) @@ -341,39 +341,39 @@ class Verify: if byear > 0: marage = maryear - byear if marage < 0: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: error.write( _("Married before birth: %(male_name)s born %(byear)d, married %(maryear)d to %(spouse)s.\n") % { 'male_name' : idstr, 'byear' : byear, 'maryear' : maryear, 'spouse' : spouse.get_primary_name().get_name() } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: error.write( _("Married before birth: %(female_name)s born %(byear)d, married %(maryear)d to %(spouse)s.\n") % { 'female_name' : idstr, 'byear' : byear, 'maryear' : maryear, 'spouse' : spouse.get_primary_name().get_name() } ) else: if marage < yngmar: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: warn.write( _("Young marriage: %(male_name)s married at age %(marage)d to %(spouse)s.\n") % { 'male_name' : idstr, 'marage' : marage, 'spouse' : spouse.get_primary_name().get_name() } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: warn.write( _("Young marriage: %(female_name)s married at age %(marage)d to %(spouse)s.\n") % { 'female_name' : idstr, 'marage' : marage, 'spouse' : spouse.get_primary_name().get_name() } ) if marage > oldmar: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: warn.write( _("Old marriage: %(male_name)s married at age %(marage)d to %(spouse)s.\n") % { 'male_name' : idstr, 'marage' : marage, 'spouse' : spouse.get_primary_name().get_name() } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: warn.write( _("Old marriage: %(female_name)s married at age %(marage)d to %(spouse)s.\n") % { 'female_name' : idstr, 'marage' : marage, 'spouse' : spouse.get_primary_name().get_name() } ) if dyear>0 and maryear > dyear: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: error.write( _("Married after death: %(male_name)s died %(dyear)d, married %(maryear)d to %(spouse)s.\n") % { 'male_name' : idstr, 'dyear' : dyear, 'maryear' : maryear, 'spouse' : spouse.get_primary_name().get_name() } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: error.write( _("Married after death: %(female_name)s died %(dyear)d, married %(maryear)d to %(spouse)s.\n") % { 'female_name' : idstr, 'dyear' : dyear, 'maryear' : maryear, 'spouse' : spouse.get_primary_name().get_name() } ) if prev_cbyear > maryear: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: warn.write( _("Marriage before birth from previous family: %(male_name)s married %(maryear)d to %(spouse)s, previous birth %(prev_cbyear)d.\n") % { 'male_name' : idstr, 'maryear' : maryear, 'spouse' : spouse.get_primary_name().get_name(), 'prev_cbyear' : prev_cbyear } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: warn.write( _("Marriage before birth from previous family: %(female_name)s married %(maryear)d to %(spouse)s, previous birth %(prev_cbyear)d.\n") % { 'female_name' : idstr, 'maryear' : maryear, 'spouse' : spouse.get_primary_name().get_name(), 'prev_cbyear' : prev_cbyear } ) prev_maryear = maryear @@ -383,17 +383,17 @@ class Verify: if maryear>0 and prev_sdyear > 0: wdwyear = maryear-prev_sdyear if wdwyear > lngwdw: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: warn.write( _("Long widowhood: %s was a widower %d years before, family %s.\n") % (idstr, wdwyear, family.get_gramps_id() ) ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: warn.write( _("Long widowhood: %s was a widow %d years before, family %s.\n") % (idstr, wdwyear, family.get_gramps_id() ) ) if fnum==nfam and dyear>0 and sdyear>0: wdwyear = dyear - sdyear if wdwyear > lngwdw: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: warn.write( _("Long widowhood: %s was a widower %d years.\n") % (idstr, wdwyear) ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: warn.write( _("Long widowhood: %s was a widow %d years.\n") % (idstr, wdwyear) ) nkids = 0 @@ -409,40 +409,40 @@ class Verify: if byear>0 and cbyear>0: bage = cbyear - byear if bage > oldpar: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: warn.write( _("Old father: %(male_name)s at age of %(bage)d in family %(fam)s had a child %(child)s.\n") % { 'male_name' : idstr, 'bage' : bage, 'fam' : family.get_handle(), 'child' : child.get_primary_name().get_name() } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: warn.write( _("Old mother: %(female_name)s at age of %(bage)d in family %(fam)s had a child %(child)s.\n") % { 'female_name' : idstr, 'bage' : bage, 'fam' : family.get_gramps_id(), 'child' : child.get_primary_name().get_name() } ) if bage < 0: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: error.write( _("Unborn father: %(male_name)s born %(byear)d, in family %(fam)s had a child %(child)s born %(cbyear)d.\n") % { 'male_name' : idstr, 'byear' : byear, 'fam' : family.get_gramps_id(), 'child' : child.get_primary_name().get_name(), 'cbyear' : cbyear } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: error.write( _("Unborn mother: %(female_name)s born %(byear)d, in family %(fam)s had a child %(child)s born %(cbyear)d.\n") % { 'female_name' : idstr, 'byear' : byear, 'fam' : family.get_gramps_id(), 'child' : child.get_primary_name().get_name(), 'cbyear' : cbyear } ) else: if bage < yngpar: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: warn.write( _("Young father: %(male_name)s at the age of %(bage)d in family %(fam)s had a child %(child)s.\n") % { 'male_name' : idstr, 'bage' : bage, 'fam' : family.get_gramps_id(), 'child' : child.get_primary_name().get_name() } ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: warn.write( _("Young mother: %(female_name)s at the age of %(bage)d in family %(fam)s had a child %(child)s.\n") % { 'female_name' : idstr, 'bage' : bage, 'fam' : family.get_gramps_id(), 'child' : child.get_primary_name().get_name() } ) if dyear>0 and cbyear>dyear: if cbyear-1>dyear: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: error.write( _("Dead father: %(male_name)s died %(dyear)d, but in family %(fam)s had a child %(child)s born %(cbyear)d.\n") % { 'male_name' : idstr, 'dyear' : dyear, 'fam' : family.get_gramps_id(), 'child' : child.get_primary_name().get_name(), 'cbyear' : cbyear} ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: error.write( _("Dead mother: %(female_name)s died %(dyear)d, but in family %(fam)s had a child %(child)s born %(cbyear)d.\n") % { 'female_name' : idstr, 'dyear' : dyear, 'fam' : family.get_gramps_id(), 'child' : child.get_primary_name().get_name(), 'cbyear' : cbyear} ) else: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: warn.write( _("Dead father: %(male_name)s died %(dyear)d, but in family %(fam)s had a child %(child)s born %(cbyear)d.\n") % { 'male_name' : idstr, 'dyear' : dyear, 'fam' : family.get_gramps_id(), 'child' : child.get_primary_name().get_name(), 'cbyear' : cbyear} ) - if person.get_gender() == RelLib.Person.female: + if person.get_gender() == RelLib.Person.FEMALE: warn.write( _("Dead mother: %(female_name)s died %(dyear)d, but in family %(fam)s had a child %(child)s born %(cbyear)d.\n") % { 'female_name' : idstr, 'dyear' : dyear, 'fam' : family.get_gramps_id(), 'child' : child.get_primary_name().get_name(), 'cbyear' : cbyear} ) diff --git a/gramps2/src/plugins/WebPage.py b/gramps2/src/plugins/WebPage.py index b6916a52c..affa4b19f 100644 --- a/gramps2/src/plugins/WebPage.py +++ b/gramps2/src/plugins/WebPage.py @@ -323,9 +323,9 @@ class IndividualPage: val = self.person.get_gramps_id() self.write_id_row("%s:" % _("ID Number"),val) - if self.person.get_gender() == RelLib.Person.male: + if self.person.get_gender() == RelLib.Person.MALE: self.write_normal_row("%s:" % _("Gender"), _("Male"),None) - elif self.person.get_gender() == RelLib.Person.female: + elif self.person.get_gender() == RelLib.Person.FEMALE: self.write_normal_row("%s:" % _("Gender"), _("Female"),None) else: self.write_normal_row("%s:" % _("Gender"), _("Unknown"),None) diff --git a/gramps2/src/plugins/WriteGeneWeb.py b/gramps2/src/plugins/WriteGeneWeb.py index 350466224..579aa2d5f 100644 --- a/gramps2/src/plugins/WriteGeneWeb.py +++ b/gramps2/src/plugins/WriteGeneWeb.py @@ -265,9 +265,9 @@ class GeneWebWriter: person = self.db.get_person_from_handle(witness.get_value()) if person: gender = "" - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: gender = "h" - elif person.get_gender() == RelLib.Person.female: + elif person.get_gender() == RelLib.Person.FEMALE: gender = "f" self.writeln("wit %s %s %s" % (gender, self.get_ref_name(person), self.get_full_person_info_fam(person))) @@ -293,9 +293,9 @@ class GeneWebWriter: child = self.db.get_person_from_handle(child_handle) if child: gender = "" - if child.get_gender() == RelLib.Person.male: + if child.get_gender() == RelLib.Person.MALE: gender = "h" - elif child.get_gender() == RelLib.Person.female: + elif child.get_gender() == RelLib.Person.FEMALE: gender = "f" self.writeln("- %s %s %s" % (gender, self.get_child_ref_name(child, father_lastname), self.get_full_person_info_child(child))) self.writeln("end") diff --git a/gramps2/src/plugins/rel_da.py b/gramps2/src/plugins/rel_da.py index 7fb8463f2..511be5e15 100644 --- a/gramps2/src/plugins/rel_da.py +++ b/gramps2/src/plugins/rel_da.py @@ -99,7 +99,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): result.append('sønne') else: result.append('datter') - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: result.append('søn') else: result.append('datter') @@ -122,12 +122,12 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): result.append('sønne') else: result.append('datter') - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: result.append('søn') else: result.append('datter') else: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: result.append('bror') else: result.append('søster') @@ -148,7 +148,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): return ('', []) if self.is_spouse(orig_person,other_person): - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return ("ægtefælle",[]) else: return ("hustru",[]) diff --git a/gramps2/src/plugins/rel_de.py b/gramps2/src/plugins/rel_de.py index 7996d8dec..2436547e4 100644 --- a/gramps2/src/plugins/rel_de.py +++ b/gramps2/src/plugins/rel_de.py @@ -356,32 +356,32 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): if firstRel == 0: if secondRel == 0: return ('',common) - elif other_person.get_gender() == RelLib.Person.male: + elif other_person.get_gender() == RelLib.Person.MALE: return (self.get_father(secondRel),common) else: return (self.get_mother(secondRel),common) elif secondRel == 0: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_son(firstRel),common) else: return (self.get_daughter(firstRel),common) elif firstRel == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_uncle(secondRel),common) else: return (self.get_aunt(secondRel),common) elif secondRel == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_nephew(firstRel-1),common) else: return (self.get_niece(firstRel-1),common) elif secondRel > firstRel: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_senior_male_cousin(secondRel-firstRel+1,secondRel-1),common) else: return (self.get_senior_female_cousin(secondRel-firstRel+1,secondRel-1),common) else: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_junior_male_cousin(secondRel-1,firstRel-1),common) else: return (self.get_junior_female_cousin(secondRel-1,firstRel-1),common) diff --git a/gramps2/src/plugins/rel_es.py b/gramps2/src/plugins/rel_es.py index fd64611ab..2d44bdb37 100644 --- a/gramps2/src/plugins/rel_es.py +++ b/gramps2/src/plugins/rel_es.py @@ -246,7 +246,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): return ('', []) if self.is_spouse(orig_person,other_person): - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return ("marido",[]) else: return ("mujer",[]) @@ -266,47 +266,47 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): if firstRel == 0: if secondRel == 0: return ('',common) - elif other_person.get_gender() == RelLib.Person.male: + elif other_person.get_gender() == RelLib.Person.MALE: return (self.get_father(secondRel),common) else: return (self.get_mother(secondRel),common) elif secondRel == 0: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_son(firstRel),common) else: return (self.get_daughter(firstRel),common) elif firstRel == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_uncle(secondRel),common) else: return (self.get_aunt(secondRel),common) elif secondRel == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_nephew(firstRel-1),common) else: return (self.get_niece(firstRel-1),common) elif firstRel == 2 and secondRel == 2: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return ('primo hermano',common) else: return ('prima hermana',common) elif firstRel == secondRel: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_male_cousin(firstRel-1),common) else: return (self.get_female_cousin(firstRel-1),common) elif firstRel == secondRel+1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_distant_nephew(secondRel),common) else: return (self.get_distant_niece(secondRel),common) elif firstRel+1 == secondRel: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_distant_uncle(firstRel),common) else: return (self.get_distant_aunt(firstRel),common) else: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_male_relative(firstRel+secondRel),common) else: return (self.get_female_relative(firstRel+secondRel),common) diff --git a/gramps2/src/plugins/rel_fi.py b/gramps2/src/plugins/rel_fi.py index 9757a0004..a3d2bc2f9 100644 --- a/gramps2/src/plugins/rel_fi.py +++ b/gramps2/src/plugins/rel_fi.py @@ -87,7 +87,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): result.append('isän') else: result.append('äidin') - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: result.append('isä') else: result.append('äiti') @@ -102,9 +102,9 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): result.append('tyttären') else: result.append('lapsen') - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: result.append('poika') - elif person.get_gender() == RelLib.Person.female: + elif person.get_gender() == RelLib.Person.FEMALE: result.append('tytär') else: result.append('lapsi') @@ -139,9 +139,9 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): result.append('tyttären') else: result.append('lapsen') - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: result.append('poika') - elif person.get_gender() == RelLib.Person.female: + elif person.get_gender() == RelLib.Person.FEMALE: result.append('tytär') else: result.append('lapsi') @@ -202,7 +202,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): elif not secondRel: return (self.get_direct_descendant(other_person,firstRel),common) elif len(firstRel) == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_ancestors_brother(secondRel),common) else: return (self.get_ancestors_sister(secondRel),common) diff --git a/gramps2/src/plugins/rel_fr.py b/gramps2/src/plugins/rel_fr.py index 57b676de0..0a36c5810 100644 --- a/gramps2/src/plugins/rel_fr.py +++ b/gramps2/src/plugins/rel_fr.py @@ -147,7 +147,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): return ('', []) if self.is_spouse(orig_person,other_person): - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return ("le mari",[]) else: return ("la femme",[]) @@ -167,42 +167,42 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): if firstRel == 0: if secondRel == 0: return ('',common) - elif other_person.get_gender() == RelLib.Person.male: + elif other_person.get_gender() == RelLib.Person.MALE: return (self.get_father(secondRel),common) else: return (self.get_mother(secondRel),common) elif secondRel == 0: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_son(firstRel),common) else: return (self.get_daughter(firstRel),common) elif firstRel == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_uncle(secondRel),common) else: return (self.get_aunt(secondRel),common) elif secondRel == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_nephew(firstRel-1),common) else: return (self.get_niece(firstRel-1),common) elif firstRel == 2 and secondRel == 2: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return ('le cousin germain',common) else: return ('la cousine germaine',common) elif firstRel == 3 and secondRel == 2: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return ('le neveu à la mode de Bretagne',common) else: return ('la nièce à la mode de Bretagne',common) elif firstRel == 2 and secondRel == 3: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return ('l\'oncle à la mode de Bretagne',common) else: return ('la tante à la mode de Bretagne',common) else: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: if firstRel+secondRel>len(_level_name)-1: return (self.get_male_cousin(firstRel+secondRel),common) else: diff --git a/gramps2/src/plugins/rel_hu.py b/gramps2/src/plugins/rel_hu.py index 1b58a032e..cb9229cf3 100644 --- a/gramps2/src/plugins/rel_hu.py +++ b/gramps2/src/plugins/rel_hu.py @@ -269,7 +269,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): return ('', []) if self.is_spouse(orig_person,other_person): - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: #FIXME: husband return ("spouse",[]) else: @@ -277,25 +277,25 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): return ("spouse",[]) if self.is_fathermother_in_law(other_person,orig_person): - if other_person.getGender() == RelLib.Person.male: + if other_person.getGender() == RelLib.Person.MALE: return ("apósa",self.get_fathermother_in_law_common(other_person,orig_person)) - elif other_person.getGender() == RelLib.Person.female: + elif other_person.getGender() == RelLib.Person.FEMALE: return ("anyósa",self.get_fathermother_in_law_common(other_person,orig_person)) elif other_person.getGender() == 2 : return ("apósa vagy anyósa",self.get_fathermother_in_law_common(other_person,orig_person)) if self.is_fathermother_in_law(orig_person,other_person): - if orig_person.getGender() == RelLib.Person.male: + if orig_person.getGender() == RelLib.Person.MALE: return ("veje",self.get_fathermother_in_law_common(orig_person,other_person)) - elif orig_person.getGender() == RelLib.Person.female: + elif orig_person.getGender() == RelLib.Person.FEMALE: return ("menye",self.get_fathermother_in_law_common(orig_person,other_person)) elif orig_person.getGender() == 2 : return ("veje vagy menye",self.get_fathermother_in_law_common(orig_person,other_person)) if self.is_brothersister_in_law(orig_person,other_person): - if other_person.getGender() == RelLib.Person.male: + if other_person.getGender() == RelLib.Person.MALE: return ("sógora",self.get_brothersister_in_law_common(orig_person,other_person)) - elif other_person.getGender() == RelLib.Person.female: + elif other_person.getGender() == RelLib.Person.FEMALE: return ("sógornője",self.get_brothersister_in_law_common(orig_person,other_person)) elif other_person.getGender() == 2 : return ("sógora vagy sógornője",self.get_brothersister_in_law_common(orig_person,other_person)) @@ -316,19 +316,19 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): if firstRel == 0: if secondRel == 0: return ('',common) - elif other_person.get_gender() == RelLib.Person.male: + elif other_person.get_gender() == RelLib.Person.MALE: return (self.get_father(secondRel),common) else: return (self.get_mother(secondRel),common) elif secondRel == 0: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_son(firstRel),common) else: return (self.get_daughter(firstRel),common) elif firstRel == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: if secondRel == 1: return (self.get_age_brother(self.get_age_comp(orig_person,other_person)),common) else :return (self.get_uncle(secondRel),common) @@ -338,13 +338,13 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): else :return (self.get_aunt(secondRel),common) elif secondRel == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_nephew(firstRel-1),common) else: return (self.get_niece(firstRel-1),common) else: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_male_cousin(firstRel-1), common) else: return (self.get_female_cousin(firstRel-1), common) diff --git a/gramps2/src/plugins/rel_it.py b/gramps2/src/plugins/rel_it.py index 894c23b7f..92dae1fe7 100644 --- a/gramps2/src/plugins/rel_it.py +++ b/gramps2/src/plugins/rel_it.py @@ -169,27 +169,27 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): if firstRel == 0: if secondRel == 0: return ('',common) - elif other_person.get_gender() == RelLib.Person.male: + elif other_person.get_gender() == RelLib.Person.MALE: return (self.get_father(secondRel),common) else: return (self.get_mother(secondRel),common) elif secondRel == 0: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_son(firstRel),common) else: return (self.get_daughter(firstRel),common) elif firstRel == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_uncle(secondRel),common) else: return (self.get_aunt(secondRel),common) elif secondRel == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_nephew(firstRel-1),common) else: return (self.get_niece(firstRel-1),common) else: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_male_cousin(firstRel-1, secondRel-1), common) else: return (self.get_female_cousin(firstRel-1, secondRel-1), common) diff --git a/gramps2/src/plugins/rel_no.py b/gramps2/src/plugins/rel_no.py index 748a38040..07ac52d12 100644 --- a/gramps2/src/plugins/rel_no.py +++ b/gramps2/src/plugins/rel_no.py @@ -115,7 +115,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): result.append('sønne') else: result.append('datter') - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: result.append('sønn') else: result.append('datter') @@ -132,7 +132,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): result.append('mor') if level > 1: result.append(self.get_cousin(level)) - elif person.get_gender() == RelLib.Person.male: + elif person.get_gender() == RelLib.Person.MALE: result.append('fetter') else: result.append('kusine') @@ -161,7 +161,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): result.append('sønn') else: result.append('datter') - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: result.append('sønn') else: result.append('datter') @@ -207,12 +207,12 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): result.append('sønne') else: result.append('datter') - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: result.append('sønn') else: result.append('datter') else: - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: result.append('bror') else: result.append('søster') @@ -237,7 +237,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): # FIXME: need Norwegian term for spouse. If gender-specific, use the code below. # UPDATE by Frode: unsure about how it's included in the finished code, so I need # to see this running to know if it is the right words to use. -# if other_person.get_gender() == RelLib.Person.male: +# if other_person.get_gender() == RelLib.Person.MALE: # return ("ektemann",[]) # else: # return ("hustru",[]) @@ -259,7 +259,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): elif not secondRel: return (self.get_direct_descendant(other_person,firstRel),common) elif len(firstRel) == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_ancestors_brother(secondRel),common) else: return (self.get_ancestors_sister(secondRel),common) diff --git a/gramps2/src/plugins/rel_ru.py b/gramps2/src/plugins/rel_ru.py index 28be9619d..1a4a323d5 100644 --- a/gramps2/src/plugins/rel_ru.py +++ b/gramps2/src/plugins/rel_ru.py @@ -225,32 +225,32 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): if firstRel == 0: if secondRel == 0: return ('',common) - elif other_person.get_gender() == RelLib.Person.male: + elif other_person.get_gender() == RelLib.Person.MALE: return (self.get_father(secondRel),common) else: return (self.get_mother(secondRel),common) elif secondRel == 0: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_son(firstRel),common) else: return (self.get_daughter(firstRel),common) elif firstRel == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_uncle(secondRel),common) else: return (self.get_aunt(secondRel),common) elif secondRel == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_nephew(firstRel-1),common) else: return (self.get_niece(firstRel-1),common) elif secondRel > firstRel: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_senior_male_cousin(firstRel-1,secondRel-firstRel),common) else: return (self.get_senior_female_cousin(firstRel-1,secondRel-firstRel),common) else: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_junior_male_cousin(secondRel-1,firstRel-secondRel),common) else: return (self.get_junior_female_cousin(secondRel-1,firstRel-secondRel),common) diff --git a/gramps2/src/plugins/rel_sv.py b/gramps2/src/plugins/rel_sv.py index 6a7fbfdf4..219706ad8 100644 --- a/gramps2/src/plugins/rel_sv.py +++ b/gramps2/src/plugins/rel_sv.py @@ -114,7 +114,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): result.append('son') else: result.append('dotter') - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: result.append('son') else: result.append('dotter') @@ -147,7 +147,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): result.append('son') else: result.append('dotter') - if person.get_gender() == RelLib.Person.male: + if person.get_gender() == RelLib.Person.MALE: result.append('son') else: result.append('dotter') @@ -188,7 +188,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): return ('', []) if self.is_spouse(orig_person,other_person): - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return ("make",[]) else: return ("maka",[]) @@ -210,7 +210,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator): elif not secondRel: return (self.get_direct_descendant(other_person,firstRel),common) elif len(firstRel) == 1: - if other_person.get_gender() == RelLib.Person.male: + if other_person.get_gender() == RelLib.Person.MALE: return (self.get_ancestors_brother(secondRel),common) else: return (self.get_ancestors_sister(secondRel),common)