Source code for gramps.gen.lib.attrtype

#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2000-2007  Donald N. Allingham
# Copyright (C) 2015       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 Attribute Types for Gramps.
"""

#-------------------------------------------------------------------------
#
# Gramps modules
#
#-------------------------------------------------------------------------
from .grampstype import GrampsType
from ..const import GRAMPS_LOCALE as glocale
_ = glocale.translation.gettext

# _T_ is a gramps-defined keyword -- see po/update_po.py and po/genpot.sh
def _T_(value): # enable deferred translations (see Python docs 22.1.3.4)
    return value

[docs] class AttributeType(GrampsType): UNKNOWN = -1 CUSTOM = 0 CASTE = 1 DESCRIPTION = 2 ID = 3 NATIONAL = 4 NUM_CHILD = 5 SSN = 6 NICKNAME = 7 CAUSE = 8 AGENCY = 9 AGE = 10 FATHER_AGE = 11 MOTHER_AGE = 12 WITNESS = 13 TIME = 14 _CUSTOM = CUSTOM _DEFAULT = ID _BASEMAP = [ # allow deferred translation of attribute UI strings (UNKNOWN, _T_("Unknown"), "Unknown"), (CUSTOM, _T_("Custom"), "Custom"), (CASTE, _T_("Caste"), "Caste"), (DESCRIPTION, _T_("Description"), "Description"), (ID, _T_("Identification Number"), "Identification Number"), (NATIONAL, _T_("National Origin"), "National Origin"), (NUM_CHILD, _T_("Number of Children"), "Number of Children"), (SSN, _T_("Social Security Number"), "Social Security Number"), (NICKNAME, _T_("Nickname"), "Nickname"), (CAUSE, _T_("Cause"), "Cause"), (AGENCY, _T_("Agency"), "Agency"), (AGE, _T_("Age"), "Age"), (FATHER_AGE, _T_("Father's Age"), "Father Age"), (MOTHER_AGE, _T_("Mother's Age"), "Mother Age"), (WITNESS, _T_("Witness"), "Witness"), (TIME, _T_("Time"), "Time"), ] _DATAMAP = [(base[0], _(base[1]), base[2]) for base in _BASEMAP] def __init__(self, value=None): GrampsType.__init__(self, value)
[docs] def type2base(self): """ Return the untranslated string suitable for UI (once translated). """ if self.value == self.CUSTOM: return str(self) elif self._BASEMAP[self.value+1]: # UNKNOWN is before CUSTOM, sigh return self._BASEMAP[self.value+1][1] else: return self.UNKNOWN