Source code for gramps.gen.lib.eventtype

#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2000-2007  Donald N. Allingham
# Copyright (C) 2013       Paul Franklin
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#

"""
Provide the different event types
"""

#------------------------------------------------------------------------
#
# Python modules
#
#------------------------------------------------------------------------
from ..const import GRAMPS_LOCALE as glocale
_ = glocale.translation.sgettext

#-------------------------------------------------------------------------
#
# GRAMPS modules
#
#-------------------------------------------------------------------------
from .grampstype import GrampsType
from ..constfunc import cuni

[docs]class EventType(GrampsType): """ Event types. .. attribute UNKNOWN: Unknown .. attribute CUSTOM: Custom .. attribute ADOPT: Adopted .. attribute BIRTH: Birth .. attribute DEATH: Death .. attribute ADULT_CHRISTEN: Adult Christening .. attribute BAPTISM: Baptism .. attribute BAR_MITZVAH: Bar Mitzvah .. attribute BAS_MITZVAH: Bas Mitzvah .. attribute BLESS: Blessing .. attribute BURIAL: Burial .. attribute CAUSE_DEATH: Cause Of Death .. attribute CENSUS: Census .. attribute CHRISTEN: Christening .. attribute CONFIRMATION: Confirmation .. attribute CREMATION: Cremation .. attribute DEGREE: Degree .. attribute EDUCATION: Education .. attribute ELECTED: Elected .. attribute EMIGRATION: Emigration .. attribute FIRST_COMMUN: First Communion .. attribute IMMIGRATION: Immigration .. attribute GRADUATION: Graduation .. attribute MED_INFO: Medical Information .. attribute MILITARY_SERV: Military Service .. attribute NATURALIZATION: Naturalization .. attribute NOB_TITLE: Nobility Title .. attribute NUM_MARRIAGES: Number of Marriages .. attribute OCCUPATION: Occupation .. attribute ORDINATION: Ordination .. attribute PROBATE: Probate .. attribute PROPERTY: Property .. attribute RELIGION: Religion .. attribute RESIDENCE: Residence .. attribute RETIREMENT: Retirement .. attribute WILL: Will .. attribute MARRIAGE: Marriage .. attribute MARR_SETTL: Marriage Settlement .. attribute MARR_LIC: Marriage License .. attribute MARR_CONTR: Marriage Contract .. attribute MARR_BANNS: Marriage Banns .. attribute ENGAGEMENT: Engagement .. attribute DIVORCE: Divorce .. attribute DIV_FILING: Divorce Filing .. attribute ANNULMENT: Annulment .. attribute MARR_ALT: Alternate Marriage """ UNKNOWN = -1 CUSTOM = 0 MARRIAGE = 1 MARR_SETTL = 2 MARR_LIC = 3 MARR_CONTR = 4 MARR_BANNS = 5 ENGAGEMENT = 6 DIVORCE = 7 DIV_FILING = 8 ANNULMENT = 9 MARR_ALT = 10 ADOPT = 11 BIRTH = 12 DEATH = 13 ADULT_CHRISTEN = 14 BAPTISM = 15 BAR_MITZVAH = 16 BAS_MITZVAH = 17 BLESS = 18 BURIAL = 19 CAUSE_DEATH = 20 CENSUS = 21 CHRISTEN = 22 CONFIRMATION = 23 CREMATION = 24 DEGREE = 25 EDUCATION = 26 ELECTED = 27 EMIGRATION = 28 FIRST_COMMUN = 29 IMMIGRATION = 30 GRADUATION = 31 MED_INFO = 32 MILITARY_SERV = 33 NATURALIZATION = 34 NOB_TITLE = 35 NUM_MARRIAGES = 36 OCCUPATION = 37 ORDINATION = 38 PROBATE = 39 PROPERTY = 40 RELIGION = 41 RESIDENCE = 42 RETIREMENT = 43 WILL = 44 _MENU = [[_('Life Events'), [BIRTH, BAPTISM, DEATH, BURIAL, CREMATION, ADOPT]], [_('Family'), [ENGAGEMENT, MARRIAGE, DIVORCE, ANNULMENT, MARR_SETTL, MARR_LIC, MARR_CONTR, MARR_BANNS, DIV_FILING, MARR_ALT]], [_('Religious'), [CHRISTEN, ADULT_CHRISTEN, CONFIRMATION, FIRST_COMMUN, BLESS, BAR_MITZVAH, BAS_MITZVAH, RELIGION]], [_('Vocational'), [OCCUPATION, RETIREMENT, ELECTED, MILITARY_SERV, ORDINATION]], [_('Academic'), [EDUCATION, DEGREE, GRADUATION]], [_('Travel'), [EMIGRATION, IMMIGRATION, NATURALIZATION]], [_('Legal'), [PROBATE, WILL]], [_('Residence'), [RESIDENCE, CENSUS, PROPERTY]], [_('Other'), [CAUSE_DEATH, MED_INFO, NOB_TITLE, NUM_MARRIAGES]]] _CUSTOM = CUSTOM _DEFAULT = BIRTH _DATAMAP = [ (UNKNOWN , _("Unknown"), "Unknown"), (CUSTOM , _("Custom"), "Custom"), (ADOPT , _("Adopted"), "Adopted"), (BIRTH , _("Birth"), "Birth"), (DEATH , _("Death"), "Death"), (ADULT_CHRISTEN , _("Adult Christening"), "Adult Christening"), (BAPTISM , _("Baptism"), "Baptism"), (BAR_MITZVAH , _("Bar Mitzvah"), "Bar Mitzvah"), (BAS_MITZVAH , _("Bat Mitzvah"), "Bas Mitzvah"), (BLESS , _("Blessing"), "Blessing"), (BURIAL , _("Burial"), "Burial"), (CAUSE_DEATH , _("Cause Of Death"), "Cause Of Death"), (CENSUS , _("Census"), "Census"), (CHRISTEN , _("Christening"), "Christening"), (CONFIRMATION , _("Confirmation"), "Confirmation"), (CREMATION , _("Cremation"), "Cremation"), (DEGREE , _("Degree"), "Degree"), (EDUCATION , _("Education"), "Education"), (ELECTED , _("Elected"), "Elected"), (EMIGRATION , _("Emigration"), "Emigration"), (FIRST_COMMUN , _("First Communion"), "First Communion"), (IMMIGRATION , _("Immigration"), "Immigration"), (GRADUATION , _("Graduation"), "Graduation"), (MED_INFO , _("Medical Information"), "Medical Information"), (MILITARY_SERV , _("Military Service"), "Military Service"), (NATURALIZATION , _("Naturalization"), "Naturalization"), (NOB_TITLE , _("Nobility Title"), "Nobility Title"), (NUM_MARRIAGES , _("Number of Marriages"), "Number of Marriages"), (OCCUPATION , _("Occupation"), "Occupation"), (ORDINATION , _("Ordination"), "Ordination"), (PROBATE , _("Probate"), "Probate"), (PROPERTY , _("Property"), "Property"), (RELIGION , _("Religion"), "Religion"), (RESIDENCE , _("Residence"), "Residence"), (RETIREMENT , _("Retirement"), "Retirement"), (WILL , _("Will"), "Will"), (MARRIAGE , _("Marriage"), "Marriage"), (MARR_SETTL , _("Marriage Settlement"), "Marriage Settlement"), (MARR_LIC , _("Marriage License"), "Marriage License"), (MARR_CONTR , _("Marriage Contract"), "Marriage Contract"), (MARR_BANNS , _("Marriage Banns"), "Marriage Banns"), (ENGAGEMENT , _("Engagement"), "Engagement"), (DIVORCE , _("Divorce"), "Divorce"), (DIV_FILING , _("Divorce Filing"), "Divorce Filing"), (ANNULMENT , _("Annulment"), "Annulment"), (MARR_ALT , _("Alternate Marriage"), "Alternate Marriage"), ] def _T_(value): # enable deferred translations (see Python docs 22.1.3.4) return value # _T_ is a gramps-defined keyword -- see po/update_po.py and po/genpot.sh _ABBREVIATIONS = { BIRTH: _T_("birth abbreviation|b."), DEATH: _T_("death abbreviation|d."), MARRIAGE: _T_("marriage abbreviation|m."), UNKNOWN: _T_("Unknown abbreviation|unkn."), CUSTOM: _T_("Custom abbreviation|cust."), ADOPT: _T_("Adopted abbreviation|adop."), ADULT_CHRISTEN : _T_("Adult Christening abbreviation|a.chr."), BAPTISM: _T_("Baptism abbreviation|bap."), BAR_MITZVAH : _T_("Bar Mitzvah abbreviation|bar."), BAS_MITZVAH : _T_("Bat Mitzvah abbreviation|bat."), BLESS: _T_("Blessing abbreviation|bles."), BURIAL: _T_("Burial abbreviation|bur."), CAUSE_DEATH : _T_("Cause Of Death abbreviation|d.cau."), CENSUS: _T_("Census abbreviation|cens."), CHRISTEN: _T_("Christening abbreviation|chr."), CONFIRMATION: _T_("Confirmation abbreviation|conf."), CREMATION: _T_("Cremation abbreviation|crem."), DEGREE: _T_("Degree abbreviation|deg."), EDUCATION: _T_("Education abbreviation|edu."), ELECTED: _T_("Elected abbreviation|elec."), EMIGRATION: _T_("Emigration abbreviation|em."), FIRST_COMMUN: _T_("First Communion abbreviation|f.comm."), IMMIGRATION: _T_("Immigration abbreviation|im."), GRADUATION: _T_("Graduation abbreviation|grad."), MED_INFO: _T_("Medical Information abbreviation|medinf."), MILITARY_SERV: _T_("Military Service abbreviation|milser."), NATURALIZATION: _T_("Naturalization abbreviation|nat."), NOB_TITLE: _T_("Nobility Title abbreviation|nob."), NUM_MARRIAGES: _T_("Number of Marriages abbreviation|n.o.mar."), OCCUPATION: _T_("Occupation abbreviation|occ."), ORDINATION: _T_("Ordination abbreviation|ord."), PROBATE: _T_("Probate abbreviation|prob."), PROPERTY: _T_("Property abbreviation|prop."), RELIGION: _T_("Religion abbreviation|rel."), RESIDENCE: _T_("Residence abbreviation|res."), RETIREMENT: _T_("Retirement abbreviation|ret."), WILL: _T_("Will abbreviation|will."), MARR_SETTL: _T_("Marriage Settlement abbreviation|m.set."), MARR_LIC: _T_("Marriage License abbreviation|m.lic."), MARR_CONTR: _T_("Marriage Contract abbreviation|m.con."), MARR_BANNS: _T_("Marriage Banns abbreviation|m.ban."), MARR_ALT: _T_("Alternate Marriage abbreviation|alt.mar."), ENGAGEMENT: _T_("Engagement abbreviation|engd."), DIVORCE: _T_("Divorce abbreviation|div."), DIV_FILING: _T_("Divorce Filing abbreviation|div.f."), ANNULMENT: _T_("Annulment abbreviation|annul.") } def __init__(self, value=None): GrampsType.__init__(self, value)
[docs] def is_birth(self): """ Returns True if EventType is BIRTH, False otherwise. """ return self.value == self.BIRTH
[docs] def is_baptism(self): """ Returns True if EventType is BAPTISM, False otherwise. """ return self.value == self.BAPTISM
[docs] def is_death(self): """ Returns True if EventType is DEATH, False otherwise. """ return self.value == self.DEATH
[docs] def is_burial(self): """ Returns True if EventType is BURIAL, False otherwise. """ return self.value == self.BURIAL
[docs] def is_birth_fallback(self): """ Returns True if EventType is a birth fallback, False otherwise. """ return self.value in [self.CHRISTEN, self.BAPTISM]
[docs] def is_death_fallback(self): """ Returns True if EventType is a death fallback, False otherwise. """ return self.value in [self.BURIAL, self.CREMATION, self.CAUSE_DEATH]
[docs] def is_marriage(self): """ Returns True if EventType is MARRIAGE, False otherwise. """ return self.value == self.MARRIAGE
[docs] def is_marriage_fallback(self): """ Returns True if EventType is a marriage fallback, False otherwise. """ return self.value in [self.ENGAGEMENT, self.MARR_ALT]
[docs] def is_divorce(self): """ Returns True if EventType is DIVORCE, False otherwise. """ return self.value == self.DIVORCE
[docs] def is_divorce_fallback(self): """ Returns True if EventType is a divorce fallback, False otherwise. """ return self.value in [self.ANNULMENT, self.DIV_FILING]
[docs] def is_relationship_event(self): """ Returns True is EventType is a relationship type event. """ return self.value in [self.DIVORCE, self.MARRIAGE, self.ANNULMENT]
[docs] def is_type(self, event_name): """ Returns True if EventType has name EVENT_NAME, False otherwise. """ event_type = [tup for tup in self._DATAMAP if tup[2] == event_name] if len(event_type) > 0: return self.value == event_type[0][0] # first one, the code return False
[docs] def get_abbreviation(self, trans_text=glocale.translation.sgettext): """ Returns the abbreviation for this event. Uses the explicitly given abbreviations, or first letter of each word, or the first three letters. Appends a period after the abbreviation, but not if string is in _ABBREVIATIONS. If trans_text is passed in (a GrampsLocale sgettext instance) then the translated abbreviation will be returned instead. """ if self.value in self._ABBREVIATIONS: return trans_text(self._ABBREVIATIONS[self.value]) else: abbrev = cuni(self) if " " in abbrev: return ".".join([letter[0].lower() for letter in abbrev.split()]) + "." else: return abbrev[:3].lower() + "."