# -*- coding: utf-8 -*- # # Gramps - a GTK+/GNOME based genealogy program # # Copyright (C) 2003-2005 Donald N. Allingham # Copyright (C) 2008 Brian G. Matherly # # 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 gen.lib import Relationship import types from PluginUtils import PluginManager #------------------------------------------------------------------------- # # # #------------------------------------------------------------------------- _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", ] # This plugin tries to be flexible and expect little from the following # tables. Ancestors are named from the list for the first generations. # When this list is not enough, ordinals are used based on the same idea, # i.e. bisabuelo is 'segundo abuelo' and so on, that has been the # traditional way in Spanish. 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"] _father_level = [ "", "padre", "abuelo", "bisabuelo", "tatarabuelo", "trastatarabuelo"] _mother_level = [ "", "madre", "abuela", "bisabuela", "tatarabuela", "trastatarabuela"] # 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. Uncomment these names if you want to use them. #_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): Relationship.RelationshipCalculator.__init__(self) def get_male_cousin(self,level): if level