# -*- coding: utf-8 -*- # # Gramps - a GTK+/GNOME based genealogy program # # Copyright (C) 2003-2004 Donald N. Allingham # # 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Written by Julio Sanchez # $Id$ #------------------------------------------------------------------------- # # GRAMPS modules # #------------------------------------------------------------------------- import RelLib import Relationship import types from gettext import gettext as _ #------------------------------------------------------------------------- # # # #------------------------------------------------------------------------- _level_name_male = [ "", "primero", "segundo", "tercero", "cuarto", "quinto", "sexto", "séptimo", "octavo", "noveno", "décimo", "undécimo", "duodécimo", "decimotercero", "decimocuarto", "decimoquinto", "decimosexto", "decimoséptimo", "decimoctavo", "decimonono", "vigésimo", ] # Short forms (in apocope) used before names _level_name_male_a = [ "", "primer", "segundo", "tercer", "cuarto", "quinto", "sexto", "séptimo", "octavo", "noveno", "décimo", "undécimo", "duodécimo", "decimotercer", "decimocuarto", "decimoquinto", "decimosexto", "decimoséptimo", "decimoctavo", "decimonono", "vigésimo"] _level_name_female = [ "", "primera", "segunda", "tercera", "cuarta", "quinta", "sexta", "séptima", "octava", "novena", "décima", "undécima", "duodécima", "decimotercera", "decimocuarta", "decimoquinta", "decimosexta", "decimoséptima", "decimoctava", "decimonona", "vigésima"] _level_name_plural = [ "", "primeros", "segundos", "terceros", "cuartos", "quintos", "sextos", "séptimos", "octavos", "novenos", "décimos", "undécimos", "duodécimos", "decimoterceros", "decimocuartos", "decimoquintos", "decimosextos", "decimoséptimos", "decimoctavos", "decimononos", "vigésimos", ] # Higher-order terms (after trastatarabuelo) on this list are not standard, # but then there is no standard naming scheme at all for this in Spanish. # Check http://www.genealogia-es.com/guia3.html that echoes a proposed # scheme that has got some reception in the Spanish-language genealogy # community. This plugin implements a scheme based on this list. When # this list is not enough, ordinals are used based on the same idea, i.e. # bisabuelo is 'segundo abuelo' and so on. When we run out of ordinals # we resort to N-ésimo notation, that is sort of understandable if in # context. _parents_level = [ "", "padres", "abuelos", "bisabuelos", "tatarabuelos", "trastatarabuelos", "pentabuelos", "hexabuelos", "heptabuelos", "octabuelos", "eneabuelos", "decabuelos"] _father_level = [ "", "padre", "abuelo", "bisabuelo", "tatarabuelo", "trastatarabuelo", "pentabuelo", "hexabuelo", "heptabuelo", "octabuelo", "eneabuelo", "decabuelo"] _mother_level = [ "", "madre", "abuela", "bisabuela", "tatarabuela", "trastatarabuela", "pentabuela", "hexabuela", "heptabuela", "octabuela", "eneabuela", "decabuela"] _son_level = [ "", "hijo", "nieto", "bisnieto", "tataranieto", "trastataranieto", ] _daughter_level = [ "", "hija", "nieta", "bisnieta", "tataranieta", "trastataranieta", ] _sister_level = [ "", "hermana", "tía", "tía abuela", "tía bisabuela", ] _brother_level = [ "", "hermano", "tío", "tío abuelo", "tío bisabuelo", ] _nephew_level = [ "", "sobrino", "sobrino nieto", "sobrino bisnieto", ] _niece_level = [ "", "sobrina", "sobrina nieta", "sobrina bisnieta", ] #------------------------------------------------------------------------- # # # #------------------------------------------------------------------------- class RelationshipCalculator(Relationship.RelationshipCalculator): def __init__(self,db): Relationship.RelationshipCalculator.__init__(self,db) def get_male_cousin(self,level): if level